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


 
 
SEGÉDLETEK Effektus-trükk

Egyszerű és dinamikus maszkolás Flash MX-ben
  feltöltve: 2004.01.07 | szerző: papp | olvasva: 22121 alkalommal

     
 

7.lépés: A 'maszk' moziklipben töröljük a mozgásátmeneteket és az egyik réteget. Mindössze egy grafikus objektum példányt hagyjunk az első képkockában.

8.lépés: Térjünk vissza a fő idősíkra, kattintsunk jobb egérgombbal a moziklipünkre, és válasszuk az Actions menüpontot. Gépeljük be az alábbi egyszerű kódot, ami a korábbi mozgás segédletekből már ismerős lesz:

onClipEvent(enterFrame) {
     _width += 4;
     _height += 4;
     _rotation += 5;
}

Minden egyes képkockában növeljük a moziklip szélességét, magasságát és egy picit el is forgatjuk. Ha elindítjuk az animációt, láthatjuk, hogy működik a kód (maszk3.fla), tehát tetszőlegesen programozhatjuk a maszkot:

Most próbáljuk ugyanezt az effektust maszk réteg nélkül megoldani!

9.lépés: Kattintsunk jobb egérgombbal a 'maszk' rétegünkre és válasszuk a kipipált 'Mask' opciót, hogy ismét egy egyszerű réteggé alakítsuk. Az ikonok is jelzik, hogy megszűnt a maszk és a maszkolt réteg. A 'maszk' réteget nevezzük is át 'moziklip'-re.

10.lépés: Jelöljük ki a moziklipünket és adjuk neki a 'clip_mc' páldány nevet. A képet is alakítsuk mozikliipé és példány neve legyen 'kep_mc'. Tehát van két moziklipünk és az egyikkel maszkolni szeretnénk a másikat, ráadásul maszk réteg nélkül? Nem nagy varázslat! Flash MX-ben ez rendkívül egyszerű!

11.lépés: Mondjuk a 'moziklip' réteg képkockájára gépeljük be az alábbi kódsort:

kep_mc.setMask (clip_mc);

Indítsuk el az animációt és meggyőződhetünk ról, hogy maszk réteg nélkül is ugyanazt a hatást értük el egyetlen sor ActionScript kóddal.

Mindezt persze a setMask metódusnak köszönhetően, melynek használata egyértelmű:

maszkolnikvant_moziklipneve.setMask (maszk_moziklipneve);

A maszk futásidőben bármikor el is távolítható az alábbi módon:

kep_mc.setMask (null);

12.lépés: Végül oldjuk meg azt, hogy a maszk moziklip kövesse az egérmutatót folyamatosan lassuló mozgással. Töröljük le a moziklipen lévő kódot és helyette gépeljük be az alábbit:

onClipEvent (load) {
     sebesseg = 10;
}
onClipEvent (enterFrame) {
     _x += (_root._xmouse-_x)/sebesseg;
     _y += (_root._ymouse-_y)/sebesseg;
}

A maszk szépen követni fogja az egérmutatónkat. Persze a maszk moziklipen belül lehetőségünk van bármilyen programozott vagy idősík alapú mozgást elhelyezni és így még látványosabb egérkövetés effektust dobhatunk össze.

 
     
 
 

© 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 >>> : .. .