PDA

Просмотр полной версии : Flash banner резинка и Tweening


PRO100Light
31.03.2014, 20:52
Всем привет. Только начал пользоваться Твин библиотеками. Немного сложно, сейчас воюю с резинкой.

вот код, скажем:

import com.greensock.*;
import com.greensock.easing.*;

Stage.scaleMode = "noScale";
Stage.align = "TL";

var listener = new Object();
listener.onResize = function(){
doLayout();
if(Stage.width>=728) {
carstart();
} else {break}
}

Stage.addListener(listener);


carstart = function() {
car.gotoAndStop(1);
clearTimeout(t);
TweenLite.to(car, 2, {_x:(Stage.width/2), ease:Back.easeOut, onComplete:carsplay});
}

carsplay = function() {
car.play();
t=setTimeout(go, 2000);
}

go = function() {

TweenLite.to(car, 1, {_x:Stage.width*0.21, ease:Back.easeInOut});
}

carstart()


не могу додуматься как сделать, что бы значения положения, изменялись в каждой функции. В каждой функции создавать onEnterFrame ? Сейчас у меня при изменении размера обновляется carstart(), и баннер стартует сначала, (а хотелось бы что бы координаты менялись в настоящие время) ну и плюс тогда еще нужно вычистить carsplay() и go() ... а это уже не серьезно...
Помогите советом плз.

dark256
01.04.2014, 08:58
Твины - это твины...
Событие изменения размера Stage - это событие его изменения....
Соотв. при возникновении такого события, вам надо управлять всем интерфейсом...
В коде у вас вроде бы все логично. Что именно вам посоветовать - непонятно.

PRO100Light
02.04.2014, 14:30
Мне нужно что бы в реальном времени перестраивались координаты. Что бы менялись координаты, а не вся анимация твин. Сейчас когда выполняется
carstart = function() {
car.gotoAndStop(1);
clearTimeout(t);
TweenLite.to(car, 2, {_x:(Stage.width/2), ease:Back.easeOut, onComplete:carsplay});
}

И я начинаю менять ширину флешки выходит так что, carstart пере запускается. А мне нужно что бы менялся только _x:(Stage.width/2) в твине.

dark256
02.04.2014, 17:03
Ну так и выбросьте все лишнее.... кар.готоСтоп и clearTimeout....

PRO100Light
02.04.2014, 17:51
var listener = new Object();
listener.onResize = function(){
carstart();
}

сейчас carstart при обновлении размера стартует.... тоесть он заново выполняет появление
TweenLite.to(car, 2, {_x:(Stage.width/2), ease:Back.easeOut, onComplete:carsplay});