Просмотр полной версии : Пауза между действием эффекта
Драсти господа..
Есть такой код позиционирования:
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 была пауза в пол секунды?
Заранее благодарен.
Поставь интервал, который запустит второй твин.
Только при новом вызове onResize очищай его.
Между запуском обоих или окончанием одного и началом другого?
Вот что вышло:
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
Логичнее и проще просто напиши код, и вообще как-то неправильно
Прочитай второй пост ещё раз и делай так:
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);
Коряво, но работать должно.
Коряво, но работать должно.
Чётенько все, спасибо.
PS: А в какой части «коряво»?
ну вот это объявление функции в функции, а так ничего :D
var ar:Object = new Object();
this.ar.onResize = function() {
if (Stage.width>301) {
Stage.align = "TL";
А на фига, в самом onResize каждый раз назначать align - TL?
А это, видимо, артефакт, не иначе :)
Или потом планировалось менять LT на T.
Оно туда тайком пробралось )))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.