Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Объекты Tween тормозят (http://www.flasher.ru/forum/showthread.php?t=134710)

retail_ret 08.01.2010 15:18

Объекты Tween тормозят
 
Вложений: 1
Здравствуйте. Обнаружил такой глюк, который происходит чаще при просмотре в браузере, но иногда и в плейере. Суть такая. Есть класс Spin, унаследованный от Sprite. В нем есть метод Go(), в котором создается объект tween:
Код AS3:

public function Go()
                {       
var Start:Tween=new Tween(this, "y", Strong.easeIn, 0, 20, 0.5, true);
}

Создается пять объектов Spin, на Stage вешается событие KeyboardEvent и по нему происходит вызов:
Код AS3:

for (var i:int=0;i<SpinCount;i++)
{
    SpinArray[i].Go();
}

Таким образом должны все объекты начать движение, в основном всё происходит как надо, НО иногда один или два объекта остаются на месте, как будто никакого Tween нет. Я думаю, дело в именно в множественном создании Tween, но не знаю чем его заменить или обойти эти глюки. Прикрепляю файл с флэшкой. Спасибо.

Jewelz 08.01.2010 15:26

после выполнения конструктора, переменная Start становится доступна для удаления gc, попробуйте объявить ее вне конструктора
Код AS3:

private var

UPD: у меня в этой флешке вобще ничего не движется :)

retail_ret 08.01.2010 15:30

[quote=Jewelz;877519]после выполнения конструктора, переменная Start становится доступна для удаления gc, попробуйте объявить ее вне конструктора
Код AS3:

private var

UPD: у меня в этой флешке вобще ничего не движется :)[/QUOTE
Щелкните на флэшку, она не в фокусе. Так переменная Start создается при каждом вызове функции Go(), даже если и удаляется она после вызова функции, то потом все равно создается.

Jewelz 08.01.2010 15:38

извиняюсь, не в конструкторе, а в методе Go(); (сбила с толку большая буква)

понажимал пару десятков раз на пробел - все движется нормально, на другие кнопки если жать, то появляются глюки (не все предметы движутся)

мне кажется решается это, как я выше сказал - попробуй

retail_ret 08.01.2010 15:53

Цитата:

Сообщение от Jewelz (Сообщение 877521)
извиняюсь, не в конструкторе, а в методе Go(); (сбила с толку большая буква)

понажимал пару десятков раз на пробел - все движется нормально, на другие кнопки если жать, то появляются глюки (не все предметы движутся)

мне кажется решается это, как я выше сказал - попробуй

Спасибо за подсказку. Объявил переменной класса, в конструкторе класса создал сам обект, в функции Go() запускаю start(); Буду тестировать.


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

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