Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MVC и as3isolib (http://www.flasher.ru/forum/showthread.php?t=179145)

KirillKobyzev 07.05.2012 23:41

MVC и as3isolib
 
Приветствую всех заглянувших)

Пишу игру потихоньку, обучаюсь заодно as3, с MVC вроде бы разобрался отчасти, но!

Есть у меня MVC(хотя и не MVC уже оно) пространства(изометрического поля), с использованием as3isolib . Сначала пытался делать по MVC, но из-за специфики библиотеки, не смог грамотно настроить связи.. пришлось оставить контроллер, и всё остальное запихать во вьюху... вроде бы уже и свыкся, но парит, что слишком много всего в 1 классе у меня.. вроде бы ещё практически ничего и нету, а фаил Вьюхи у меня уже на 500+ строк..ну не суть.
Вроде сделал движок для пространства(статических объектов) и тут пора бы персонажа ввести наконец-то, а здесь начались трудности, не понимаю как бы мне сделать отдельный MVC для персонажа, ведь общий viewPort (всё, что находится на сцене в изометрическом виде), сортировка, находится в "MVC" пространства, следовательно, чтобы добавить новый слой с персонажем нужно каким то образом дёргать что-то там.. т.е. во-первых, нужно передать Сам объект, и как его потом контролировать, если вьюха Персонажа уже и не выполняет особых действий получается? в общем я в печали)

Само собой я могу в "MVC" Пространства запихать и персонажа, Но очень этого бы не хотелось делать)

Проблему свою выразить более чётко не смог, но хотелось советов, как быть (по теме совмещения AS3isolib с MVC)

in4core 08.05.2012 00:00

У вас полюбому должна быть архитектура ( тоесть нужен основной контроллер полюбому ) :

GlobalController.as работает с
любым из видов ( нужных ) , держит все модели ( нужные ему ) , держит другие контроллеры.
И тогда вы из вида игры например диспатчите событие главному контролю о том, что вид меняется, а главнй контроллер отправляет запрос в другой вид или в другую модель, о которой не знает вид отправитель. Тоесть в вашем случае получится , что перс - отдельный вид, с ним можно работает отдельно, но благодаря свзяи общего контроллера, на него могут воздействовать любые другие объекты, точно так же как и он сам, при этом не зная их напрямую.

чтобы все работало как вы хотите.

KirillKobyzev 08.05.2012 00:19

2 in4core
Есть такой контроллер,да, но я не понимаю, что передавать в Контроллер плоскости.. Сам объект? координаты постоянно передавать?
в контроллере плоскости, к примеру, есть проверка объектов при перетаскивание. Там создаётся битмапка и отрисовываются все объект, после чего по цвету проверяется, мне придётся к примеру отсылать запрос в плоскость на проверку битмапы и т д. мб расширить вьюху Персонажа от плоскости? а контроллер и модель от базовых.
Или вытаскивать проверку на битмапы отдельно...

мне кажется, что сейчас момент когда я понимаю, что всё через жопу и нужно всё переделывать, потому что я заранее об этом не побеспокоился..

или же пихаться всё в mvc плоскости

Добавлено через 8 минут
Цитата:

Тоесть в вашем случае получится , что перс - отдельный вид, с ним можно работает отдельно, но благодаря свзяи общего контроллера, на него могут воздействовать любые другие объекты, точно так же как и он сам, при этом не зная их напрямую.
как же мне с ним работать если он будет в "MVC" плоскости, так как его туда обязательно нужно добавить, иначе он не будет отображаться в общей картине, к примеру если я подвину плоскость он останется на месте..

in4core 08.05.2012 00:28

Ну расширятся от... это тоже какое то новшество* в вашем случае. У меня ни один контроллер или модель не расширяется ни от чего, хотя знаю есть ситуации когда это требуется для компактности.
Мне кажется вам надо абстрогироваться от понятия *контроллер плоскости* и разбить приложение на более БОЛЬШИЕ но осмысленные куски. Типа *главный контроллер* , *контроллер перса* , *контроллер самой игры, опять же глобальный* ну и т.п. Хотя может это и не лучшее решение в вашем случае. 500+ строк кода - это нормально, да хоть 1500+ если оно того заслуживает.
Далее
Цитата:

Есть такой контроллер,да, но я не понимаю, что передавать в Контроллер плоскости..
А , что туда обязательно что то передавать ? Если вы сами не знаете, что туда передавать, то может и не нужен там вообще контроллер , а достаточно вью?

Цитата:

Там создаётся битмапка и отрисовываются все объект, после чего по цвету проверяется, мне придётся к примеру отсылать запрос в плоскость на проверку битмапы и т д.
Собственно логику можно перенести и в модель, что скорее будет удобнее.
Ну отсылайте запрос на проверку и что в этом плохого?
Пока что все сумбурно, сложно как то сооринтировться в вашей проблеме

Vishapakahr 09.05.2012 01:39

Советую Изучить Robotlegs и на нем постаратся строить приложение. Если будет сложно тагда puremvc лехче его попробуйте.


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

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