PDA

Просмотр полной версии : Пауза между действием эффекта


kayama
08.03.2007, 21:25
Драсти господа..

Есть такой код позиционирования:


var ar:Object = new Object();
this.ar.onResize = function() {
if (Stage.width>1050) {
Stage.align = "TL";
cir._x = new mx.transitions.Tween(cir, "_x", mx.transitions.easing.Strong.easeOut, cir._x, Stage.width*.30, 1, true);
rec._x = new mx.transitions.Tween(rec, "_x", mx.transitions.easing.Strong.easeOut, rec._x, Stage.width*.60, 1, true);
}
};
Stage.addListener(ar);

Что нужно сделать, чтобы между работой cir и rec была пауза в пол секунды?
Заранее благодарен.

etc
08.03.2007, 21:29
Поставь интервал, который запустит второй твин.
Только при новом вызове onResize очищай его.

iNils
08.03.2007, 21:30
Между запуском обоих или окончанием одного и началом другого?

kayama
09.03.2007, 01:05
Вот что вышло:

var ar:Object = new Object();
this.ar.onResize = function() {
if (Stage.width>301) {
Stage.align = "TL";
cir._x = new mx.transitions.Tween(cir, "_x", mx.transitions.easing.Strong.easeOut, cir._x, Stage.width*.30, 1, true);
var ai:Number;
this.ai = setInterval(function () {
rec._x = new mx.transitions.Tween(rec, "_x", mx.transitions.easing.Strong.easeOut, rec._x, Stage.width*.60, 1, true);
clearInterval(ai);
}, 1000);
}
};
Stage.addListener(ar);


Эффект достигнут, но когда я начинаю дергать ресайз туда-сюда-обратно, такое впечатление, что интервал вдвое сокращается, где я недомудрил?

Mr. Fixit
09.03.2007, 01:12
Логичнее и проще просто напиши код, и вообще как-то неправильно

etc
09.03.2007, 01:21
Прочитай второй пост ещё раз и делай так:

var ar:Object = new Object();
this.ar.onResize = function() {
if (Stage.width>301) {
Stage.align = "TL";
clearInterval(this.ai);
cir._x = new mx.transitions.Tween(cir, "_x", mx.transitions.easing.Strong.easeOut, cir._x, Stage.width*.30, 1, true);
this.func = function () {
rec._x = new mx.transitions.Tween(rec, "_x", mx.transitions.easing.Strong.easeOut, rec._x, Stage.width*.60, 1, true);
clearInterval(this.ai);
}
this.ai = setInterval(this,'func', 1000);
}
};
Stage.addListener(ar);

Коряво, но работать должно.

kayama
09.03.2007, 01:59
Коряво, но работать должно.
Чётенько все, спасибо.
PS: А в какой части «коряво»?

etc
09.03.2007, 02:03
ну вот это объявление функции в функции, а так ничего :D

sem1313
09.03.2007, 03:10
var ar:Object = new Object();
this.ar.onResize = function() {
if (Stage.width>301) {
Stage.align = "TL";


А на фига, в самом onResize каждый раз назначать align - TL?

etc
09.03.2007, 12:41
А это, видимо, артефакт, не иначе :)
Или потом планировалось менять LT на T.

kayama
13.03.2007, 10:20
Оно туда тайком пробралось )))