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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.10.2010, 17:25
Vier вне форума Посмотреть профиль Отправить личное сообщение для Vier Посетить домашнюю страницу Vier Найти все сообщения от Vier
  № 1  
Ответить с цитированием
Vier

Регистрация: Sep 2004
Сообщений: 90
По умолчанию Еще один вопрос по архитектуре

Архитектура - это громко сказано, но все-таки.
Я не часто программирую на as, но каждый раз меня очень смущает получающаяся цепочка событий.
То есть, загружаем какой-то мувик. Он подгружает xml, конец загрузки xml стартует загрузку, например картинок, загрузка картинок стартует какие-то эффекты итд итп. То есть цепочка бывает довольно большая? и когда я спустя неделю возвращаюсь к проекту, довольно тяжело распутывать все эти зависимости кто кого стартует.

Я подозреваю, что есть способ как-то аккуратнее все это организовать. Интересно было бы узнать.

Старый 14.10.2010, 17:52
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 2  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
ну а что не так, все вполне последовательно, наверное чтоб понимать, может следует комментировать методы, у вас их получается кот наплакал
__________________
Коллекционирую чужие ActionScript Блоги

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Vier, вот и я, когда только начинал немного разбираться в AS3, хотел составить нейкие шаблоны для загрузки xml + картинки и т.д. Но, поверьте мне, всё уже проще простого, вот увидите через 2 месяца будете на автомате писать эти 2-3 метода за 2 минуты))

Добавлено через 1 минуту
Киньте может код для примера? Подскажем что где заоптимизировать или упростить (если есть что ).
__________________
ranga

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Я решал такое создав набор классов, реализующий очередь действий.
Есть класс, реализующий загрузку XML и класс, загружающий картинки.
Код AS3:
Actions.instance.addAction(new GetXmlAction(XML_URL));
Actions.instance.addAction(new LoadImagesAction(), true);
Actions.instance.start();
Таким образом LoadImagesAction может принимать в качестве параметров загруженный XML.
Все действия выполняются последовательно, в порядке добавления.

Не сказал бы что при таком решении становится намного проще (:
__________________
while(1) {}


Последний раз редактировалось Division; 14.10.2010 в 18:38.
Старый 14.10.2010, 18:40
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от Division Посмотреть сообщение
Я решал такое создав набор классов, реализующий очередь действий.
Есть класс, реализующий загрузку XML и класс, загружающий картинки.
Код AS3:
Actions.instance.addAction(new GetXmlAction(XML_URL));
Actions.instance.addAction(new LoadImagesAction(), true);
Таким образом LoadImagesAction может принимать в качестве параметров загруженный XML.

Не сказал бы что при таком решении становится намного проще (:
вы разнесли по классам для дальнейшего масштабирования приложения, фактически рефакторинг, выносим методы в отдельные класс по функциональности...

хотя это плодит в данном случае новые сущности
__________________
Коллекционирую чужие ActionScript Блоги

Старый 14.10.2010, 18:44
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 6  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Не совсем рефакторинг, скорее подход такой к созданию логики приложений (: Не всегда оправдано, но местами удобно.
__________________
while(1) {}

Старый 14.10.2010, 19:09
Vier вне форума Посмотреть профиль Отправить личное сообщение для Vier Посетить домашнюю страницу Vier Найти все сообщения от Vier
  № 7  
Ответить с цитированием
Vier

Регистрация: Sep 2004
Сообщений: 90
Спасибо всем, да придется тогда лучше структурировать самому )

Пример кода вечером скину. Я уверен, что где-то я неправильно пишу.

Старый 14.10.2010, 20:33
Life_Master вне форума Посмотреть профиль Отправить личное сообщение для Life_Master Найти все сообщения от Life_Master
  № 8  
Ответить с цитированием
Life_Master

Регистрация: Oct 2009
Сообщений: 55
Division, хм... интересно, а по-подробнее о таких классах можно...

Старый 14.10.2010, 21:43
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 9  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
можно класс написать который принимает ссылку на xml и диспечеризирует событие с массивом уже загруженных файлов.

Старый 14.10.2010, 21:48
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 10  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Actions.instance.addAction(new GetXmlAction(XML_URL));
Надо же, у нас тоже асинхронные команды Action-нами называются
Только синглтон здесь нафиг не нужен - делаем асинхрнонную команду MacroAction,
принимающую список асинхрнонных команд - и запускаем ее, можно делать вложенные списки комманд

Там где логика ветвится - например в одном случае надо запускать одну цепочку - в другом другую - в акшене просто запускаем либо однин MacroAction, либо другой

Где цепочка строго определена (у нас только в лоадере основной swf-ки используется) - можно подобием конвеера Потапенко воспользоваться, в других случаях он слишком НЕгибок.

Но интуиция подсказывает, что обилие цепочек свидетельствует о хреново продуманной архитектуре - надо разруливать как-то по другому.
(комманда - это всетки не эквивалент реального объекта)


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

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

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


 


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


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