PDA

Просмотр полной версии : плавающие превьюшки - как?


dashaaa
24.11.2008, 16:07
Подскажите, как сделать эфект плавающих превьющек, как здесь (http://www.flashmint.com/show-template-2144.html)? Пытаюсь через setInterval вызывать функцию, которая смещает мувик на один пиксель, пока он не семстится на нужное количество пикселей, потом назад. Но всё жутко медленно и не плавно, может это не лучший способ?

artem_fs
24.11.2008, 16:26
я делал так:muvik.newX=500;
muvik.onEnterFrame = function() {
this._x += (this.newX-this._x)/10;
};
а по ссылке - я сомневаюсь что там as используется вообще

Zik.
24.11.2008, 16:53
да обычный Motion Tween подойдет.

dashaaa
24.11.2008, 17:08
Ну у меня мувиков как всегда 40 штук, поэтому нужно программно, чтобы не двигать каждого ручками.

artem_fs, я почти так и делаю, только не по событию onEnterFrame сдвигается картинка, а setInterval'ом

public function shift(x_shift:Number, y_shift:Number):Void {
if (vibrCount<10) {
this._x += x_shift;
this._y += y_shift;
vibrCount++;
} else if (vibrCount<10*2) {
this._x -= x_shift;
this._y -= y_shift;
vibrCount++;
} else {
clearInterval(vibrIntervalID);
vibrCount = 0;
Vibration();
}
updateAfterEvent();
}

vibrIntervalID = setInterval(this, "shift", 70, 1, 0);

fps = 20 и 40 мувиков, которые ведут себя так.

Вопрос - это нормально что всё тормозит? Для такого количества не на что и надеятся сделать этот эффект? или возможно реализовать так чтобы движение было плавно, просто у меня не получилось?

artem_fs
24.11.2008, 17:30
я честно в as слаб.
здесь updateAfterEvent() запускает фунцкию заново? если да, то он ее вечно запускать будет и еще setInterval`ом сверху запускать. в таком случае эту функцию достаточно один раз запустить.

dashaaa
24.11.2008, 17:55
нет, она запускается в конструкторе класса, который этот мувик описывает, а потом перезапускается, как только закончила (но движется в другую сторону). Так что двойного вызова там вроде бы нигде нет.

Zik.
24.11.2008, 18:40
Вопрос - это нормально что всё тормозит?
Зависит от оперативки, но в большенстве случаев тормозит.