есть класс Points:
Код AS3:
public class Points extends MovieClip {
public function Points(mc:MovieClip, pts:Object, X:Number, Y:Number) {
var myTimeLine:TimelineLite = new TimelineLite();
var tField:TextField;
var tFormat:TextFormat = new TextFormat();
tFormat.font = "Arial";
tFormat.size = 20;
tFormat.bold = false;
tFormat.color = 0xFFFFFF;
tFormat.align = "center";
tField = new TextField();
tField.selectable = false;
tField.defaultTextFormat = tFormat;
tField.autoSize = TextFieldAutoSize.CENTER;
tField.text = String(pts);
tField.x = -(tField.width/2);
tField.y = -(tField.height/2);
with (this)
{
x = X;
y = Y;
scaleX = 0;
scaleY = 0;
alpha = 1;
}
this.addChild(tField);
mc.addChild(this);
myTimeLine.append( new TweenLite( this, 1, { alpha:0, scaleX:2, scaleY:2, onComplete:tweenComplete(mc) } ) );
}
private function tweenComplete(mc:MovieClip):void
{
trace("Ololo " + this.name);
mc.removeChild(this);
}
}
Фрагмент из мейна:
Код AS3:
var pb:Points = new Points(this, numPoints, matches[i][j].x, matches[i][j].y);
Не работает. Точнее работает, но неверно: tweenComplete(mc) вызывается сразу, а не onComplete как должно быть. В чем грабли?
Добавлено через 1 час 27 минут
Сперва была мысль что onComplete не срабатывает из-за того, что вызывается не в Мейне... Попробовал перенес в Мейн - та же история, независимо от заданной длины анимации срабатывает моментально. Что примечательно - анимация проигрывается (конечно, если закомментить mc.removeChild(this) )
Добавлено через 1 час 28 минут
Т.е. получается что анимация еще работает, а onComplete уже сработал. Кто работал с твинлайтом - подскажите.
Добавлено через 2 часа 3 минуты
Все, нашел ошибку. Надо было писать не так:
Код AS3:
new TweenLite( this, 1, { alpha:0, scaleX:2, scaleY:2, onComplete:tweenComplete(mc) } );
а так:
Код AS3:
new TweenLite( this, 1, { alpha:0, scaleX:2, scaleY:2, onComplete:tweenComplete, onCompleteParams:[mc] } );
Т.е. если при событии onComplete надо вызвать функцию с параметром, то параметры надо передавать отдельной записью onCompleteParams:[Array] (аналогично и для остальных событий)