Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   плавающие превьюшки - как? (http://www.flasher.ru/forum/showthread.php?t=118449)

dashaaa 24.11.2008 16:07

плавающие превьюшки - как?
 
Подскажите, как сделать эфект плавающих превьющек, как здесь? Пытаюсь через setInterval вызывать функцию, которая смещает мувик на один пиксель, пока он не семстится на нужное количество пикселей, потом назад. Но всё жутко медленно и не плавно, может это не лучший способ?

artem_fs 24.11.2008 16:26

я делал так:
Код AS1/AS2:

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'ом

Код AS1/AS2:

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

Цитата:

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


Часовой пояс GMT +4, время: 13:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.