![]() |
Мне кажется, что Вы угараете, от нечего делать. Вы говорите, что храните DO в модели, а на следующий день говорите, что так не делаете. Когда Вас цитируешь, то Вы говорите, что "написали не подумав" и "так делать нельзя" и ещё на следующий день опять спрашиваете, где хранить представления. Но зато, цитирую!
Цитата:
Добавлено через 8 минут Вам нужно наверное прямо сказать - вьюшки хранятся во вьюшках, контроллеры, в контроллерах, модели в моделях. И добавить - и только! Добавлено через 13 минут Цитата:
|
Цитата:
Я бы хранил вьюшки нарисованных объектов во вьюшке сцены, так как они к ней непосредственно относятся. Удалял, добавлял, слушал их вьюшкой сцены и тд. Но вы говорите, что данные операции к mvc не относятся. |
У Вас должна быть главная вью, она создает вью холста и вью слоев ( вью слоев, это блок-меню, который отображает миниатюры слоев ). И теперь смотрите... Вью холста и вью слоев, это к mvc не относится, это два завершенных модуля.
Модуль, в том смысли, в котором говорят о законченном продукте, который автономный, то есть может переходить из проекта в проект и с которым общаться можно, только посредством api. То есть, классы полностью инкопсулированы. Что будет в этих модулях, mvc не касается, там может быть полный бардак или же тоже на mvc все построено. Но я еще раз повторю, что не могу натинуть mvc на эту задачу. Если в модель засунуть цикл слоев, который будет менять местами слои и.. И это фигня, модель должна содержать логику, а не все подряд расчеты. Забудьте о моих словах тогда и делайте как хотите. Читайте статью, книги, форум и делайте. Я больше не буду отвечать, а то Вы на меня повесите все свои проблемы и скажите, что это меня слушали. Или если хотите, сделайте маленький пример - два квадрата, которые друг на друга заходят ровно на половину. По клику мышки, они меняют глубину местами, то один выше, то второй. И при каждом клики пользователь получает +10 очков. И по завершению 20 секунд, в trace нужно вывести сумму всех очков. Вот это тех задание для девочки с первого курса, которые банеры делает. Только Вам нужно сделать на mvc. Это не шутка и не предлог отделаться, это для дальнейшего объяснения. Если вы это не сможете сделать, то фотошоп уж точно рано. И сделайте так, как видите mvc. |
Цитата:
Пусть это будет упрощенная игра. Тогда у нас есть GameModel, GameView и GameController. Также есть класс-вьюшка RectangleView. Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
|
Тогда прошу прощения за отнятое время. Я хотел Вам продемонстрировать хирургию,
и попросил сделать вскрытие лягушки, а в ответ получил тарелку супа. Все тонкости ушли и я не хочу навязывать Вам флешевою модель mvc, так как в Вашем языке может и не быть реализованно того, что есть в as3 и я только наврежу. Во всех языках разное mvc/ По этому я диалог прекращаю. |
Ответьте на несколько вопросов и закончим с этим. Я опишу, что у меня уже готово. От вас прошу лишь только подсказать или подкорректировать логику архитектуры.
Пока с вами переписывался кое-что переосмыслил и написал отдельный модуль Node(узел), который любую фигуру построенную из линий(потом и для кривых сделаю) расширяет до отдельного узла на сцене, то есть нарисовали, предположим, ромб, то эту фигуру можно перетаскивать через внутренний модуль DragAndDrop в главном модуле Node. Также сделал слушатель событий мыши, удаление и добавление для фигур. Теперь я хочу сделать, как вы мне написали, вьюшку Layer, куда будут добавляться вьюшки нарисованных объектов. Главная вьюшка сцены будет хранить в себе список слоёв layers. Главная модель сцены будет хранить id тек. выбранного слоя из списка layers. То есть теперь из любого меню приходит команда удалить слой, контроллер меняет состояние главной модели deleteLayer = true, вьюшка сцены слушает изменение состояния модели, берёт тек. слой по id из модели, кричит всем чайлдам удалить все узлы, когда все узлы удалились слой передает сообщение вьюшке сцены и она его удаляет из своей коллекции. Как вам такая идея? |
<the свои слова обратно и предложу продолжить постижение самых-самых основ.
Делаю это не для того, чтобы у Вас исчерпались вопросы, а для того, чтобы Вы сами научились на них отвечать. Продолжим... Вот у Вас есть готовый код игры и заказчик просит Вас сделать ещё одну. Задание такое - на сцене пустота, а при клике мышки создается кружок в месте клика. При каждом клики пользователь получает +10 очков. И по завершению 20 секунд, в trace нужно вывести сумму всех очков. Сделайте, я Вам укажу на самую главную ошибку, а потом уже комментарии дам по последнему вопросу. |
Цитата:
|
Я немного погорячился и Ваш псевдокод вполне приемлем, так что меня не напрягет, если Вы его в том же ключе будете соблюдать. А вообще странно, что Вы не зная as3 обсуждаете тему здесь. Вы на каком языке пишите?
И да, в виде mvc. |
Сижу здесь потому что лучше и богаче темы о mvc не видел. К тому же иногда есть у кого-нибудь из форумчан уточнить детали. Программирую на java/c#/javascript, знаю as2, но язык не важен, главное окончательно разобраться в самом принципе mvc.
Цитата:
|
| Часовой пояс GMT +4, время: 08:39. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.