![]() |
Проблема с setTimeout
короче говоря:
вот так всё работает: Код AS3:
Код AS3:
|
1. Никогда не используйте анонимные функции.
2. Не используйте setTimeout - используйте Timer. setTimeout там просто для красоты, чтобы соответствовать какой-то никому теперь не нужной бумажке. |
Ну допустим с Timer соглашусь, что может там по каким то там параметрам круче чем setTimeout. А почему анонимные функции не подходят??
|
Вы, собственно, вляпались не в таймер, а в уборщик мусора.
Он неровно дышит к твинам и прибивает их раньше, чем они отрабатывают. Не пользуйтесь штатным твином или честно его прописывайте в коде. Лучше взять TweenLite. Анонимные функции не подходят просто потому что не подходят. ))) Хотя и везде встречаются. |
"не подходят просто потому что не подходят"
с обоснованностью некоторых утверждений не поспоришь. |
Анонимные функции создаются каждый раз по новой, когда выполняется этот участок кода, изза чего они, как и любой другой объект ссылочного типа не равны сами себе (т.как будут размножаться). Их не удобно дебажить, т.как непонятно откуда лезут ошибки. Если вы ее передадите по ссылке, то есть все шансы, что она где-нибудь "застрянет" и останется засорять память пока флешку не выключат. Кроме всего прочего, эти функции JITятся каждый раз. Т.е. их не компилируют один раз и забывают, а каждый раз по-новой. Кроме того, эти функции являются динамическими объектами с неопределенной областю вызова. Вы никогда не можете предсказать будут ли в функции ошибки типа NPE или нет.
|
Цитата:
|
| Часовой пояс GMT +4, время: 11:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.