![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 223
|
waitForClick - всего лишь тривиальный пример.
А как тебе такое: var connected:bool = false;
var attempts:int=0;
while (!connected && attempts<3) {
if (sock.connect()) {
connected = true;
} else {
attempts++;
sleep(500);
}
}
sock.connect() и sleep() в данном случае - синхронные методы. Попробуй написать вышеприведённый код на классическом AS3, затем сравним. ------------------------- Другой пример. В одном проекте мне необходимо было рисовать различные псевдо-3D объекты в аксонометрической проекции. Для отрисовки каждого объекта требуется одна или несколько текстур. Текстуры хранятся во внещних файлах. Разумеется, загружать текстуру каждый раз, когда он потребовалась - слишком дорогое удовольствие, поэтому я сделал кеш текстур, основной метод которого выглядел так: При старте приложения загружались все необходимые текстуры (коих тогда было мало), затем объекты в любой момент могли взять нужные текстуры. Но после уточнения ТЗ оказалось, что в реальной работе текстур может быть тысячи, а то и десятки тысяч. Все их загружать в память просто не реально. Поэтому надо использовать ленивую загрузку - текстура загружается только при первом обращении к ней. Но в таком случае я не могу сразу вернуть BitmapData! Ведь возможно такой текстуры в кеше ещё нет, следовательно она будет загружаться, следовательно потребуется какое-то время. Пришлось добавлять callback'и. Но мало того - пришлось полностью переделывать отрисовку объектов. Если раньше это был один метод (у разных типов объектов - свой), то теперь мне пришлось его разбивать на части, чтобы гарантировать, что текстура точно загружена. Если бы я мог сделать getTexture синхронным, то таких значительных переделок не потребовалось бы. Последний раз редактировалось WindWalker; 10.04.2008 в 14:45. |
![]() |
Часовой пояс GMT +4, время: 20:53. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|