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

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

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
По умолчанию резонность использования RobotLegs + Box2D

Добрый всем день.

Возник насущный вопрос, просто для размышлений. Есть ли смысл использовать RL + Box2D ?

В одном из проектов была необходимость использовать Box2D вместе с RL.
И если делать всё "правильно" то получается нельзя в поле userData объекта b2Body хранить визуальный объект, как это обычно делается, и во многих практиках это очень удобно.

Если какие-то данные обрабатываются в модели, то чтобы донести их до View (Mediator) мы должны сделать dispatch в контекст. При этом в событии прикрепить соответствующий VO с нужными для view данными.

В принципе неплохо, но лично меня смущает такое количество dispatch'ей в контекст. Благо эти события можно слушать напрямую из медиатора, но если нужна еще какая-то модель или сервис - то мы должны дернуть еще и команду. Имхо - это перебор.

Моё мнение, что использование RL + Box2D является не лучшим выбором.
Ваше мнение, и советы
__________________
adobe AS3 manual

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Если какие-то данные обрабатываются в модели, то чтобы донести их до View (Mediator) мы должны сделать dispatch в контекст. При этом в событии прикрепить соответствующий VO с нужными для view данными.
Не должны. Более того, модель, как правило, даже не наследуется от Actor и не имеет ссылки на Context.
Цитата:
При этом в событии прикрепить соответствующий VO с нужными для view данными.
У вас уже есть модель, зачем ей еще слать куда-то VO? Вы с сервисом не путаете? (Хотя и него это не обязаловка).

Добавлено через 21 минуту
P.S. Box2D сам по себе реализует MVC, а вы пытаетесь оторвать у него V. Совместить в одном проекте RL и Box2D вполне возможно, например на RL построен GUI, а на Box2D построен игровой процесс. А то получается, что вы ухватили молоток за боек и пытаясь забить гвоздь рукояткой делаете вывод, что молоток для забивания гвоздей не лучший выбор.
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от alatar Посмотреть сообщение
Более того, модель, как правило, даже не наследуется от Actor и не имеет ссылки на Context.
Модель не наследуется от Actor? Насколько помню, модели и сервисы это и есть Actor'ы.

http://www.developria.com/2010/06/an...tlegs-a-1.html
http://habrahabr.ru/post/111191/
__________________
adobe AS3 manual

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Зависит от модели. Если нет необходимости в глобальных событиях от модели (которые смогут поймать все в рамках одного контекста), то смысла в наследовании от Actor нет.
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
т.е. Вы говорите о том, что необходимо оставить игровые view для box2D, и не совать их в RobotLegs?
соответственно, модель, которая будет содержать данные об этих игровых view, так же не будет касаться RL ?

- тогда в чем проявляется совмещение?
__________________
adobe AS3 manual

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
- тогда в чем проявляется совмещение?
Да нет никакого совмещения. Они будут сосуществовать в одном проект не вмешиваясь в работу друг друга (и даже знать им о существовании соседа нет необходимости). Кесарю кесарево.
Пример совмещения. RL занимается взаимодействием с пользователем (не игровым), показать сплашскрин, рекламу, изменить настройки, выбрать тип игры, коммуникация с внешними сервисами (загрузить и показать таблицу рекордов, например). Все остальное делается отдельно, хоть с использованием Box2D, хоть Nape, хоть еще какой приблуды. Архитектурные фреймворки (и микроархитектурные) не предназначены для реализации игрового процесса (если не специализированы для этого, как физические движки или игровые движки, типа PushButton, Flixer и иже с ними).
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 02.07.2012, 20:40
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 7  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Я понял позицию, спасибо.

В описываемом мной проекте победило желание делать всё "правильно", как того требует RobotLegs.
И где-то в середине процесса я уже понял что всё происходит не правильно, не так как должно быть на самом деле.

В итоге таким стремлением к правильности, я пожертвовал скоростью работы, ибо я понимаю что RL совсем не предназначен для обработки игрового процесса.

Понятность кода и возможности рефакторинга не оправдали себя в этом случае.
__________________
adobe AS3 manual

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

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

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


 


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


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