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


 
 
SEGÉDLETEK ActionScript

Beépített Tween/Easing osztályok az MX2004-ben
  feltöltve: 2005.03.10 | szerző: savanya | olvasva: 7776 alkalommal

     
 

Az easing osztály

Mindezidáig tehát kihasználatlan volt a konstruktor 'func' paramétere, ahova az easing osztály 5 alosztályának 4 féle metódusát rendelhetjük. Ezek a következőek (különösebb magyarázat nélkül, a példák majd szemléltetik a működést):

Back
Bounce
Elastic
Strong
Regular
None

és a metódusaik:

easeIn
easeOut
easeInOut
easeNone

Megjegyzendő, hogy None és az easeNone csak egymással működik, más párosításban hibaüzenetet kapunk, és különösebb jelentősége nincs is a funkciónak, mivel ugyanazt eredményezi, mint a fentiekben már látott lineáris animáció.

Az osztály elérése a Tween-hez hasonlóan: pld: mx.transitions.easing.Back.easeIn
Ezt kell tehát a megfelelő helyre beírni, és kész is dinamikus mozgás.
Ismétcsak maradva az első példánál:

my_btn.onRelease = function() {
     myTween = new mx.transitions.Tween(my_mc, "_x", mx.transitions.easing.Bounce.easeInOut, 15, 135, 25, false);
};


Nem is csépelném a szót tovább, nézzük meg egy összesítő rendszerben, hogy a különböző paraméterpárosítások milyen eredménnyel járnak (a bemutatóba fixen beépítettem a fentebb már tárgyalt 'yoyo()' függvényt, mert az vicces :), és a mozi kinézetének kordában tartása végett a megadható begin, finish, és duration értékeket is határok közé szorítottam, természetesen ezek a határértékek általános esetben nem mérvadóak):

Végezetül egy igen egyszerű példa, bemutatandó, hogy e technikák egész kevés trükközéssel hamar interaktív tartalmak részesei is lehetnek:

function tweenAll(easeType1, xfinish, yfinish, xbegin, ybegin, rot) {
     myTween1 = new mx.transitions.Tween(my_mc, "_x", easeType1, xbegin, xfinish, 10);
     myTween2 = new mx.transitions.Tween(my_mc, "_y", easeType1, ybegin, yfinish, 10);
     myTween3 = new mx.transitions.Tween(my_mc, "_rotation", mx.transitions.easing.Bounce.easeIn, rot+5, yfinish*3.6, 25);
}
_root.onMouseMove = function() {
     tweenAll(mx.transitions.easing.Strong.easeOut, _xmouse, _ymouse, my_mc._x, my_mc._y, my_mc._rotation);
};

Ezzel végére is értünk a segédletnek. Remélem kiderült, hogy az MX2004 e beépített osztályaival milyen egyszerűen is lehet eddig bonyolult matematikai függvényekkel leírt és onEnterFrame-mel vagy setIntervallal kezelt animációkat pár soros actionscripttel létrehozni, illetve ezeket módosítani. Az azonban természetesen most is igaz, hogy ez a könnyebbség áldaozatokkal is jár, nevezetesen azzal, hogy megfosztjuk magunkat e mozgások minden részletre kiterjedő kontrollálásának lehetőségétől, hiszen a megadható pár paraméteren kívül nincs hozzáférésünk e beépített osztályok mozgást leíró matematikai képleteihez. Azaz, hogy csak egy példát említsek a sok közül, egy rugalmas, vagy pattogó mozgás amplitúdóját, a pattogások számát nincs lehetőségünk szabályozni. És az is igaz, hogy e beépített osztályok forrásai teljes terjedelmükben belekerülnek a lefordított swf-be, holott lehet hogy csak egy töredéküket használjuk fel az animációink elkészítéséhez.

Talán megéri....

 
     
 
 

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