/ Forside/ Teknologi / Multimedie & design / Flash / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Flash77 500
10  Dr.Disco 500
Flytte figurer med piletaster
Fra : dreamvision
Vist : 309 gange
100 point
Dato : 12-08-04 22:00

Hvis man har forskellige figurer der kan bevæges med piletaster, kan der så tillaves hver enkelt figur at reagere på piletasterne individuelt uden at de andre følger trop? - og hermed mener jeg et uanet antal af figurer.

Med nuværende opsætning selvom hver figur er benævnt med seperat navn følger alle figurer med uanset hvad.

 
 
Kommentar
Fra : jhvp


Dato : 12-08-04 23:36

Er det ikke bare et spørgsmål om at programmeringen er
sat på selve figuren, og der med i specifikt fortæller hvilken
figur der skal flyttes.

Jeg mener at man så gør noget i denne stil.

Du har en eller anden for fo "IF" sætning hvor
efter du bestemmer hvad der skal ske. Det
ville jeg gøre noget i denne stil:

Figur1._x = Figur1._x+1

Hvor du måske bruger "THIS" nu.



Kommentar
Fra : dreamvision


Dato : 13-08-04 00:05

Der er lavet script på selve framen, og hver enkelt figur , som er tillavet som "movieclip" er sat en anden action, netop hvor hver firgur er benævnt henholdsvis 1, 2, 3, 4, osv.

Sagen er at dette script på framelinien, som skal aktivere hver enkelt figur, ikke aktiverer særskilt, måske har dette noget med at hver firgur via muses berøring skal aktiveres med noget andet script!!

jeg har blot ikke kunnet finde en løsning.

Kommentar
Fra : jhvp


Dato : 13-08-04 00:09

Det tro jeg ikke kan du ikke lige vise os lidt af dit actionscript ?

Kommentar
Fra : dreamvision


Dato : 13-08-04 01:05

Jeg har forandret koderne lidt fra førhen, idet jeg har ændret til at museklik rotation af figurerne istedet for som før x, y knapperne - henholdsvis højre og venstre om. Nu kan jeg ikke lige finde dem jeg benyttede, kun at dette virker, blot ville jeg tilbage til at bruge x, y knapperne istedet for museklik, da det er en større opsætning med mange figurer.

Problemet var som beskrevet at alle figurer roterede samtidig med x, y knapperne, og ikke den som jeg lige havde flyttet (aktiveret) med musen

Jeg har de oprindelige liggende et eller andet sted, men skal lige finde dem. Kan I eventuelt ud fra dette finde en løsning?

På selve frame-linien står:

onClipEvent (load) {
   maxRotAngle = 180;
   this.rotbutton._rotation = maxRotAngle/100;
}

___________________________________________


På selve figuren (figurerne) som er tillavet som movieclip står:

onClipEvent (mouseMove) {
   dorotate = false;
   maxrotate = _parent.maxRotAngle;
   maxrotatelimit = maxrotate+1;
}
onClipEvent (enterFrame) {
   if (dorotate) {
      if ((_rotation>-maxrotatelimit) && (_rotation<maxrotatelimit)) {
         _rotation += (Math.floor(180*Math.atan2(_ymouse, _xmouse)/Math.PI)+90);
      }
      if (_rotation<=-maxrotatelimit) {
         _rotation = -maxrotate;
      }
      if (_rotation>=maxrotatelimit) {
         _rotation = maxrotate;
      }
   }
}

___________________________________________


På figuren som er sat til button i movien står:

on (press) {
   startDrag("/Fig3");
}
on (release) {
   stopDrag();
}
// start rotation
on (release, releaseOutside) {
   dorotate = true;
}
// stop rotation
on (press) {
   dorotate = false;
}

_____________________________________________

Tak til den som kan hjælpe!!

Kommentar
Fra : jhvp


Dato : 13-08-04 01:27

Jeg kan ikke forstå at du bruger "Drag", forklar mig lige
hvorfor du gør dette, for det forstår jeg ikke.

Skulle du ikke bare kunne styre en figur med tasterne ?


Kommentar
Fra : dreamvision


Dato : 13-08-04 01:36

Fordi figurerne bliver flyttet fra siden, hvor de ligger og ind på midterområdet, hvor de gennem action-scriptet kan roteres og bevæges.

Men først bliver de fra yderområdet flyttet ind til midterfeltet med musen. Derfor "drag"

Kommentar
Fra : jhvp


Dato : 13-08-04 01:38

Jeg kan ikke helt huske hvad koden hedder.
men hvis det skal styres med tasterne ville
jeg gøre noget i denne stil.

if tasttryk=pilop{
Fig3._y=Fig3._y-1
}
if tasttryk=pilned{
Fig3._y=Fig3._y+1
}
if tasttryk=pilvenst{
Fig3._x=Fig3._x-1
}
if tasttryk=pilhøjr{
Fig3._x=Fig3._x+1
}


Hvis den bare skal forsætte i den retning man
har trykket sidst ville jeg gøre:

if tasttryk=pilop{
RetningYaks=-1
RetningXaks=0
}
if tasttryk=pilned{
RetningYaks=1
RetningXaks=0
}
if tasttryk=pilvenst{
RetningXaks=-1
RetningYaks=0
}
if tasttryk=pilhøjr{
RetningXaks=1
RetningYaks=0
}
Fig3._x=Fig3._x+RetningXaks
Fig3._x=Fig3._y+RetningYaks

Kommentar
Fra : jhvp


Dato : 13-08-04 01:40

Ja men startDrag bruger man da i forbindelse med at
man trækker med musen, og ikke med keybord taster.

Kommentar
Fra : dreamvision


Dato : 13-08-04 01:50

Hvad sker så når koden bliver sat på "Fig 1", "Fig 2", "Fig 4", "Fig 5" osv, og de ikke alle skal bevæge sig rundt samtidig???

Jeg brugte noget lignende førhen, som dette:

onClipEvent (enterFrame) {
   if (Key.isDown(Key.LEFT)) {
      _x -= 3;
   }
   if (Key.isDown(Key.RIGHT)) {
      _x += 3;
   }
   if (Key.isDown(Key.UP)) {
      _y -= 3;
   }
   if (Key.isDown(Key.DOWN)) {
      _y += 3;
   }
}

Sagen er at der er mere end 50 figurer som alle er placeret i "neutralt" område , hvorefter de med musen bliver trukket ind i det "aktive" område efterhånden som figurerne skal benyttes. Det er også godt nok når der kun er en. men så snart 2 og 3 osv kommer problemet at de alle roterer samtidigt. - henholdsvis frem og tilbage med piletasterne og roterer med x, y tasterne.

Kommentar
Fra : jhvp


Dato : 13-08-04 02:11

Har du prøvet sådan ?

onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
Fig3._x -= 3;
}
if (Key.isDown(Key.RIGHT)) {
Fig3._x += 3;
}
if (Key.isDown(Key.UP)) {
Fig3._y -= 3;
}
if (Key.isDown(Key.DOWN)) {
Fig3._y += 3;
}
}

Kommentar
Fra : jhvp


Dato : 13-08-04 02:32

nu ved jeg ikke hvor dine figure lægger,
men hvis de ikke lægger i et movieclip,
kan det være du skal prøve med _root.Fig3
kan ikke huske om der skal være understreg
foran root.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177425
Tips : 31962
Nyheder : 719565
Indlæg : 6407925
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste