|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Мне кажется PlutDem спрашивал совершенно о другом.
О том что вот у нас в Модели есть список табуреток и тумбочек с координатами. И теперь во Вьюхе надо эти табуретки и тумбочки отобразить. То есть, увидев в списке "табурет", надо создать экземпляр класса Табурет — Модель ведь хранит не ссылку на готовый экземпляр Табурета во Вьюхе, а только запись о нем. И как быть далее во время жизни этого табурета уже после его создания, когда Вьюха обновляется от Модели, от тех же записей, но теперь табурет уже есть, и должен быть как-то связан с записью в Модели)). Ну я так понял вопрос.
__________________
Reality.getBounds(this); |
|
|||||
Может быть он действительно это имел в виду.
Вроде нормальный подход: - вюхе - ссылку на модель в конструктор при создании - вюха слушает свою модель и изменяется - если пришло событие от модели, что надо пододвинуть вьюху модели "model123", то возможны 2 варианта: 1. вьюха сама пододвигается, слушая событие модели "надо пододвинутся" 2. более главная вьюха находит в Dictionary мелкую вьюху по модели и сама двигает вьюху. (добавлять ссылку на вьюшку в модель нельзя - вьюшек может быть куча - перс на главной карте, на уменьшенном макете, в диалоге, например, - а модель одна) Остальное, видимо, в мега-треде Хорошее MVC Ну или больше кода нужно сюда, чтобы общаться по конкретике |
|
|||||
Регистрация: Feb 2012
Сообщений: 212
|
Собственно, проблема была в том, что контроллер добавляет в мир новую сущность и диспатчит соответствующее событие. Главная вьюха слышит это событие и ей нужно создать отображение этой сущности., вот только какое? В предыдущей версии в событийном объекте была ссылка на сущность и в зависимости от ее класса главная вьюха погружала соответствующее представление сущности.
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)); } Теперь назрел другой вопрос (см. диаграмму во вложении). Как сделать чтобы при кликах на отображения героя и монстра, герой бил мечом, а монстр нападал на героя? Ссылка в представлениях героя и монстра имеет тип Сущность, а он не имеет методов ударить мечом и атаковать героя, которые есть у классов ГЕРОЙ и МОНСТРю |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Если так нравится абстракция, что Вы не можете передать герою ссылку на его собственную сущность, и он до конца игры не знает, герой он или чудовище, то может быть у такого Героя не должно быть методов "ударить мечом", а у монстра — "съесть героя"? Ведь у Сущности может быть только абстрактный метод атаковать. А уж как именно происходит атака, заложено мультипликатором в ПредставленииГероя и ПредставленииМонстра.
__________________
Reality.getBounds(this); |
|
|||||
.
|
Мне больше по душе, когда контроллер меняет мир (модель) и мир, а не контроллер диспатчит событие своего изменения.
|
|
|||||
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
Цитата:
и да, на диаграмме стрелки не праильные и не в ту сторону Добавлено через 1 минуту волш вообще философ |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 00:04. |
|
« Предыдущая тема | Следующая тема » |
|
|