Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.03.2010, 23:09
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 1  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
По умолчанию Проблема с setTimeout

короче говоря:

вот так всё работает:

Код AS3:
t2 = new Tween(obj1, "distance", null, 300, 5, 5.5, true);
obj1.visible=true;
а вот так твин просто не запускается, но объект становится видимым, значит в timeOut всё же заходит:

Код AS3:
_t=setTimeout(function():void{t2 = new Tween(obj1, "distance", null, 300, 5, 5.5, true);
obj1.visible=true;},3000);

Старый 17.03.2010, 23:31
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
1. Никогда не используйте анонимные функции.
2. Не используйте setTimeout - используйте Timer. setTimeout там просто для красоты, чтобы соответствовать какой-то никому теперь не нужной бумажке.
__________________
Hell is the possibility of sanity

Старый 17.03.2010, 23:45
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 3  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Ну допустим с Timer соглашусь, что может там по каким то там параметрам круче чем setTimeout. А почему анонимные функции не подходят??

Старый 18.03.2010, 00:02
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 4  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Вы, собственно, вляпались не в таймер, а в уборщик мусора.
Он неровно дышит к твинам и прибивает их раньше, чем они отрабатывают.
Не пользуйтесь штатным твином или честно его прописывайте в коде.
Лучше взять TweenLite.

Анонимные функции не подходят просто потому что не подходят. )))
Хотя и везде встречаются.

Старый 18.03.2010, 01:02
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 5  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
"не подходят просто потому что не подходят"

с обоснованностью некоторых утверждений не поспоришь.

Старый 18.03.2010, 01:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Анонимные функции создаются каждый раз по новой, когда выполняется этот участок кода, изза чего они, как и любой другой объект ссылочного типа не равны сами себе (т.как будут размножаться). Их не удобно дебажить, т.как непонятно откуда лезут ошибки. Если вы ее передадите по ссылке, то есть все шансы, что она где-нибудь "застрянет" и останется засорять память пока флешку не выключат. Кроме всего прочего, эти функции JITятся каждый раз. Т.е. их не компилируют один раз и забывают, а каждый раз по-новой. Кроме того, эти функции являются динамическими объектами с неопределенной областю вызова. Вы никогда не можете предсказать будут ли в функции ошибки типа NPE или нет.
__________________
Hell is the possibility of sanity

Старый 18.03.2010, 08:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от wvxvw Посмотреть сообщение
setTimeout там просто для красоты
Кому для красоты, а кому и в работе пригодится. Создавать ради единственного отложенного вызова чертов таймер — немыслимое расточительство.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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