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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.06.2012, 01:40
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Мне кажется PlutDem спрашивал совершенно о другом.
О том что вот у нас в Модели есть список табуреток и тумбочек с координатами.
И теперь во Вьюхе надо эти табуретки и тумбочки отобразить.
То есть, увидев в списке "табурет", надо создать экземпляр класса Табурет — Модель ведь хранит не ссылку на готовый экземпляр Табурета во Вьюхе, а только запись о нем. И как быть далее во время жизни этого табурета уже после его создания, когда Вьюха обновляется от Модели, от тех же записей, но теперь табурет уже есть, и должен быть как-то связан с записью в Модели)). Ну я так понял вопрос.
__________________
Reality.getBounds(this);

Старый 11.06.2012, 02:07
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 12  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Может быть он действительно это имел в виду.

Вроде нормальный подход:
- вюхе - ссылку на модель в конструктор при создании
- вюха слушает свою модель и изменяется
- если пришло событие от модели, что надо пододвинуть вьюху модели "model123", то возможны 2 варианта:
1. вьюха сама пододвигается, слушая событие модели "надо пододвинутся"
2. более главная вьюха находит в Dictionary мелкую вьюху по модели и сама двигает вьюху.
(добавлять ссылку на вьюшку в модель нельзя - вьюшек может быть куча - перс на главной карте, на уменьшенном макете, в диалоге, например, - а модель одна)

Остальное, видимо, в мега-треде Хорошее MVC
Ну или больше кода нужно сюда, чтобы общаться по конкретике

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

Регистрация: Feb 2012
Сообщений: 212
Собственно, проблема была в том, что контроллер добавляет в мир новую сущность и диспатчит соответствующее событие. Главная вьюха слышит это событие и ей нужно создать отображение этой сущности., вот только какое? В предыдущей версии в событийном объекте была ссылка на сущность и в зависимости от ее класса главная вьюха погружала соответствующее представление сущности.
Код AS3:
public function onNewEntity(e:GalaxyEvent):void {
 
    if(e.entity is Ship) addChild(new ShipView(e.entity));
    if(e.entity is Shell) addChild(new ShellView(e.entity));
    if(e.entity is Wall) addChild(new WallView(e.entity));
 
}
А ведь, по сути, классы представлений разнятся только картинкой. Теперь у меня сущность хранит ссылку на свою битмапу и просто передает ее в событийном объекте главной вьюхе, ну а та уже просто добавляет ее классу отображению сущности.
Код AS3:
public function onNewEntity(e:GalaxyEvent):void {
 
    addChild(new EntityView(e.entity.bitmap));
 
}
Теперь назрел другой вопрос (см. диаграмму во вложении). Как сделать чтобы при кликах на отображения героя и монстра, герой бил мечом, а монстр нападал на героя? Ссылка в представлениях героя и монстра имеет тип Сущность, а он не имеет методов ударить мечом и атаковать героя, которые есть у классов ГЕРОЙ и МОНСТРю
Миниатюры
Нажмите на изображение для увеличения
Название: SP.jpg
Просмотров: 26
Размер:	26.2 Кб
ID:	28292  

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
он не имеет методов ударить мечом и атаковать героя
А что, у Героя есть метод "съесть героя"?
Если так нравится абстракция, что Вы не можете передать герою ссылку на его собственную сущность, и он до конца игры не знает, герой он или чудовище, то может быть у такого Героя не должно быть методов "ударить мечом", а у монстра — "съесть героя"? Ведь у Сущности может быть только абстрактный метод атаковать.
А уж как именно происходит атака, заложено мультипликатором в ПредставленииГероя и ПредставленииМонстра.
__________________
Reality.getBounds(this);

Старый 07.08.2012, 23:49
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 15  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от PlutDem Посмотреть сообщение
Собственно, проблема была в том, что контроллер добавляет в мир новую сущность и диспатчит соответствующее событие.
Мне больше по душе, когда контроллер меняет мир (модель) и мир, а не контроллер диспатчит событие своего изменения.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 08.08.2012, 11:21
gagaga вне форума Посмотреть профиль Отправить личное сообщение для gagaga Найти все сообщения от gagaga
  № 16  
Ответить с цитированием
gagaga
[+1 22.04.13]
[+1 06.03.13]

Регистрация: Apr 2012
Сообщений: 239
Цитата:
Сообщение от dimarik Посмотреть сообщение
Мне больше по душе, когда контроллер меняет мир (модель) и мир, а не контроллер диспатчит событие своего изменения.
согласен с димариком

и да, на диаграмме стрелки не праильные и не в ту сторону

Добавлено через 1 минуту
волш вообще философ

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Философия в комиксах
Нажмите на изображение для увеличения
Название: model-view-item.png
Просмотров: 84
Размер:	12.4 Кб
ID:	28304
__________________
Reality.getBounds(this);

Старый 08.08.2012, 22:48
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 18  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Это ты в чем такие красивые рисуночки фигачишь? )
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
В гугл-документах, ныне гугл-диск Бесплатно и удобно.
__________________
Reality.getBounds(this);

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

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

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


 


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


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