Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   _global не используется... (http://www.flasher.ru/forum/showthread.php?t=134062)

iflamberg 20.12.2009 19:20

я не вижу никаких проблем.
в.1 - передавать в каждый wall ссылку на сontrol(и хранить её естественно)
в.2 - Control хранит в себе карту, и указатель на текущий квадрат(или что-то в этом роде)

вообще архитектура у тебя опять же неправильная. Потому что:
Цитата:

Если мы находимся в a1 - то переменная wall содержит значение стены которую мы видим -1, переменная prefix содержит индекс квадрата в котором находимся - a. Ну еще переменная должна быть которая содержит индекс комнаты, но это само собой.
такая информация должна храниться в Control, а не в wall. А что если у тебя будет несколько персонажей? Тогда нужно хранить вообще отдельно, например, в классе Unit (а, скажем классы Player, EvilMonster - наследники класса Player).

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

nickorsk 20.12.2009 19:25

Да в принципе если знаешь начальные координаты, то логически знать чего то большего не надо. Попробую так.

iflamberg

Спасибо, так и сделаю. У меня квест, вид комнаты не сверху, а от 1-го лица. Конечно можно по похожей структуре сделать rpg Типа Timezero, только будет значительнее сложнее, но все же.

Psycho Tiger 20.12.2009 20:30

Цитата:

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

iflamberg 20.12.2009 20:39

ну а что поделать, если он простейшего еще не понимает. Пусть начинает так, потом выделяет в отдельные классы объекты. Не начинать же ему тут рассказывать про pureMVC, синглтоны и медиаторы?

nickorsk 20.12.2009 20:55

Сделал так как описал iflamberg.
Описал все в Классе Control, там же задал начальные координаты и все сразу заработало :) И никаких передач значений туда -сюда. Wall и все переменные касающие координат и передвижения засунул в Control - наверное так лучше всего.
Спасибо.

dimarik 21.12.2009 00:58

Цитата:

Спасибо, так и сделаю. У меня квест, вид комнаты не сверху, а от 1-го лица. Конечно можно по похожей структуре сделать rpg Типа Timezero, только будет значительнее сложнее, но все же.
Я всегда считал, что тазик (TimeZero) рулит.

По сути. Используйте MVC. В основе модели системы комнат лежит граф. Вершины графа - модели, описывающие их веса (если нужно) и связи с соседними вершинами. Контроллер инициализирует граф из какого-либо источника данных - сервер, хмл, текстовый файл, придумайте сами. Контроллер получает от View - интерфейса пользователя, того же сервера, если он вдруг задумает рулить нашим тонким клиентом - команды. Типа: пошли вправо, пошли вверх. Смотрим. В модели (вершина N 121) "вправо" означает связь с вершиной N 122 и переход по связи имеет вес 12 у.е. Ок, UI показывает подтвежденный факт перехода, например, рисуя новый интерьер, который, кстати, тоже описан в этой модели-вершине ссылкой на модель итерьера. А с персонажа снимают, например 12 * 0.3 ОД. Как-то так я бы сделал =). Кстати, подменяя View и оставляя контроллер и модель нетронутыми, можно получить и первое лицо и вид сверху и просто ASCII представление Вашей мега-игры.


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

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