. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .


 
 
SEGÉDLETEK ActionScript

Dinamikus mozgások ActionScripttel - 1. rész
  feltöltve: 2003.10.16 | szerző: papp | olvasva: 15850 alkalommal

     
 

Egyenesvonalú, egyenletes mozgás

4. LÉPÉS: Akkor hát próbáljuk meg elmozdítani az előző példában használt labdát, például jobbra. Töröljünk minden kódot az első frame-ből és helyette az alábbi sort gépeljük be:

labda_mc._x = labda_mc._x + 4;

Tehát az _x koordinátát növeljük és a labda elmozdul 4 pixellel jobbra. De ezzel vége is van a mozgásnak. A folyamatos mozgáshoz a labda _x értéket folyamatosan kellene növelnünk a mozi futása közben. Erre az EnterFrame eseményt fogjuk használni.

5. LÉPÉS: Mentsük el a mozit labda01.fla néven, és növeljük a mozi Frame rate-jét 35-re. Töröljük a kódot az első frame-ből és írjuk a következő kódot az alábbi kódot:

labda_mc.onEnterFrame = function() {
     labda_mc._x += 4;
};

A fő idősíkon egy függvényt hoztunk létre, amely az EnterFrame eseményre figyel. Az onEnterFrame feltétel mozi futása közben minden frame-ben teljesül, tehát a Flash frame-enként növeli a labda _x értékét 4 pixellel. Láthatjuk, hogy a labda elindul jobbra, majd teljesen elhagyja a színpadot. Értelemszerűen, a sebesség növelhető, ha nagyobb értékkel növeljük az _x koordinátát.

6. LÉPÉS: A többi irányt már mindenki könnyűszerrel megoldja, például a diagonális mozgáshoz az _x és _y koordináták egyidejű növelése szükséges, és egyúttal akár a moziklip méretét is változtathatjuk (labda03.fla):

labda_mc.onEnterFrame = function() {
     labda_mc._x += 2;
     labda_mc._y += 0.5;
     labda_mc._xscale += 2;
     labda_mc._yscale += 2;
};

7. LÉPÉS: Nézzünk egy másik példát! (labda04.fla) Hozzunk létre egy újabb példányt a moziklipből, és helyezzük a (100,200)-as koordinátára. A példány neve legyen: labda2_mc. Változtassuk meg a kódot az 1-es frame-ben a következőre:

labda_mc.onEnterFrame = function() {
     labda_mc._x += 2;
};

labda2_mc.onEnterFrame = function() {
     labda2_mc._x += 4;
};

Mint ahogy az előrelátható volt, az alsó labda gyorsabban mozog. A példából megfigyelhetjük, hogy mindössze néhány sor kóddal több objektumot is vezérelhetünk. A következő lépésben oldjuk meg azt, hogy a labda ne hagyja el a színpadot, hanem egy meghatározott koordinátán álljon meg.

 
     
 
 

© Devnet.hu. A segédletek semmilyen formában nem másolhatók, publikálhatók a Devnet.hu és a szerzők közös írásos engedélye nélkül.
 
. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .