TweenLite и ActionScript 2
TweenLite е машината за анимиране на обекти ActionScript на GreenSock.
Съществува в две версии:
- версия подActionScript 2.0 ;
- версия подActionScript 3.0.
Двигателят не е напълно безплатен (вижте лиценза), но за некомерсиални проекти и за някои търговски цели е достъпен безплатно. Можете да изтеглите от тази връзка.
TweenLite предоставя на създателите на Flash много удобни и лесни софтуерни решения за анимация, но засега ще разгледам само основите и само за ActionScript 2.0.
На първо място, трябва да кажа, че GreenSock се срещна с потребителите и създаде редица генератори на кодове за своите продукти, включително за TweenLite:

Този генератор на кодове се намира в съответния раздел на уебсайта www.greensock.com и се доставя със самия двигател. Именно чрез генератора е най-лесно да започнете да работите с тази библиотека. Просто настройте желания софтуерен ефект и след това копирайте кода от генератора във вашия проект.
Например, много често флаш проекти използват различни ефекти за бутони: промяна на прозрачността; увеличаване / намаляване на размера; движение по координатните оси и др. С TweenLite тези ефекти са невероятно лесни за изпълнение.
Код на ActionScript 2.0:
/* импортиране на класове */ импортиране com.greensock.*; /* Увеличете бутона при преместване на мишката */ btn.onRollOver = function() < TweenLite.to(btn, 1, ); >; /* обратна операция */ btn.onRollOut = function() < TweenLite.to(btn, 1, ); >;
За да работи горният код, трябва да бъдат изпълнени само две условия:
- папката "com " трябва да се намира в същата папка с вашия флаш проект,взет от архива със самия двигател TweenLite;
- трябва да имате MovieClip "btn " на вашата флаш филмова сцена.
А сега малко обяснение на кода. За да създадете прости анимационни ефекти, използвайте методаTweenLite.to(). Има следните опции:
- първият параметър е името на обекта, към който искаме да приложим софтуерна анимация (в нашия случай такъв обект е btn movie clip);
- вторият параметър е продължителността на анимацията на програмата в секунди (имаме 1 секунда);
- третият параметър е асоциативен масив с двойки свойство:стойност. Например записът означава, че искаме да увеличим нашия обект по оста X и Y с 200%. В допълнение към посочените свойства_xscale и_yscale, TweenLite поддържа и следните свойства:
-_x ;
-_y ;
-_въртене ;
-_alpha и някои други.
Код на ActionScript 2.0:
/* импортиране на класове */ импортиране com.greensock.*; импортиране com.greensock.easing.*; /* Увеличете бутона при преместване на мишката */ btn.onRollOver = function() < TweenLite.to(btn, 1, ); >; /* обратна операция */ btn.onRollOut = function() < TweenLite.to(btn, 1, ); >;
Както можете да видите, естеството на анимацията се е променило.
Но много често се нуждаем от извършване на някакво действие, когато анимацията приключи. Какво да направите в този случай? И нищо особено - просто добавете малко код. Например, нека направим следното: ще запазим бутона да се увеличава и намалява при преместване на мишката, но сега нашият бутон също ще бъде полупрозрачен през цялото време, докато не бъде анимиран програмно.
Код на ActionScript 2.0:
/* импортиране на класове */ импортиране com.greensock.*; импортиранеcom.greensock.easing.*; /* направи нашия бутон първоначално полупрозрачен */ btn._alpha = 50; /* Увеличете бутона при преместване на мишката */ btn.onRollOver = function() < btn._alpha = 100; TweenLite.to(btn, 1, ); >; /* забелязваме, че сега слушаме за събитието onComplete и задействаме функцията func, когато събитието се случи */ btn.onRollOut = function() < TweenLite.to(btn, 1, ); >; /* функция, която се изпълнява след края на анимацията на програмата */ функция func()
onComplete не е единственото събитие в арсенала на TweenLite, но на практика най-често се използва onComplete.
Но това не е всичко. Често е необходимо не само да се извика функция, когато възникне събитие, но и да се предадат някои параметри на тази функция. И така, TweenLite ви позволява да предавате много параметри като масив. Това става по следния начин.
Код на ActionScript 2.0:
/* импортиране на класове */ импортиране com.greensock.*; импортиране com.greensock.easing.*; /* направи нашия бутон първоначално полупрозрачен */ btn._alpha = 50; /* Увеличете бутона при преместване на мишката */ btn.onRollOver = function() < btn._alpha = 100; TweenLite.to(btn, 1, ); >; /* слушайте за събитието onComplete и когато това събитие се случи, стартирайте функцията func и подайте името на обекта, който ще бъде анимиран като параметър на функцията func */ btn.onRollOut = function() < TweenLite.to(btn, 1, ); >; /* функцията получава като параметър името на обекта, който се анимира и променя прозрачността на този обект */ function func(btnName)
Този код ще работи точно както предишния пример. Но този метод е по-удобен, ако програмно анимирате не един, а много обекти.
Още веднъж, възможностите на TweenLite са много по-широки от описаните втози пост. И този двигател значително опростява процеса на програмно управление на обекти на сцената на флаш филм. Следователно времето, прекарано в изучаване на TweenLite, ще се изплати 100 пъти :-)
Е, в крайна сметка ще дам пример за примитивна галерия, използваща TweenLite, направена набързо:
Източниците за този урок подMacromedia Flash 8 могат да бъдат изтеглени от тази връзка.
Дата на добавяне: 2012-02-17
Рейтинг на публикацията: 9