Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вопрос про структуру игровых классов. (http://www.flasher.ru/forum/showthread.php?t=197537)

expl 10.04.2013 13:09

Цитата:

Лучше писать код, использовав паттерн МVC или МСV ))
Подозреваю, что для аркад МVC не годится.
Для них лучше использовать набор объектов, у которых каждый кадр вызывается метод Update(). Причём не грех срастить логику, данные и отображение одного объекта.

Цитата:

Выносите все данные в XML, тогда методы доступа к данным будут по сути методами доступа к нодам. Смело используйте XPath и XMLList. XPath, к сожалению, не нативен, но позволяет параметрически программно задавать запросы используя строковые переменные. Используйте класс Dictionary для организации ассоциативных структур, но можно обойтись и XML)))
Очень спорный момент. Хотя не понятно что конкретно Вы предлагаете делать, так что может и не спорный.

caseyryan 10.04.2013 13:10

Цитата:

http://www.codeproject.com/Articles/...troller-Design
памоему этот на Java написан, но не имеет значения на каком языке написан проект,
Нет, не на Java. Это C#. Иногда другой язык слишком отличается от того, что интересует. Поэтому я бы не сказал, что язык не имеет значения.
Цитата:

смотря что является оптимальной структурой,
идеальный вариант, это найти исходный код чужой игры и тырить оттуда фишки для своей,
Откуда уверенность что код чужой игры написан хорошо?
Вариант по-лучше - читать грамотные книжки, хороших авторов. Мне от o'reilly больше всего нравятся, хотя даже среди них шлак попадается. Friends of Ed тоже неплохие

gagaga 10.04.2013 13:25

для игр mvc не очень (он хорош для интерфейсов)... последнее время пишу игру на MVP (model view presenter)

Babylon 10.04.2013 13:33

Цитата:

Сообщение от maloun365 (Сообщение 1129104)
Babylon, ну завалили теорией!
пееходя от теории к практике, берём проект с MVC и разбираем как он работает
http://www.codeproject.com/Articles/...troller-Design


Конечно можно заваливать г/к. Разгребать его все равно не вам. Не зависимо от глубины.

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

Сообщение от gagaga (Сообщение 1129108)
для игр mvc не очень (он хорош для интерфейсов)... последнее время пишу игру на MVP (model view presenter)

Дело не в инструменте, а в умении им пользоваться :)

maloun365 10.04.2013 13:43

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

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

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

expl 10.04.2013 13:45

Цитата:

Конечно можно заваливать г/к. Разгребать его все равно не вам. Не зависимо от глубины.
Вроде есть прописные истины:
- Если код не использует MVC - это не значит, ни что он плохой, ни что его трудно править, ни что его трудно писать
- Если код использует MVC - это не значит что он хорош. Самый отборный "г/к" я разгребал как раз в проекте написанном на PureMVC (хотя там многие концеции MVC как раз шли лесом из-за особенностей фреймворка, и многое можно объяснить тем, что код правило до 5 человек, слабо контактирующих между собой)
- Мир на MVC клином не сошёлся, MVC в принципе не может быть хорош на все случаи жизни.

Babylon 10.04.2013 13:46

Цитата:

Сообщение от expl (Сообщение 1129106)
Подозреваю, что для аркад МVC не годится.
Для них лучше использовать набор объектов, у которых каждый кадр вызывается метод Update(). Причём не грех срастить логику, данные и отображение одного объекта.


Очень спорный момент. Хотя не понятно что конкретно Вы предлагаете делать, так что может и не спорный.

Я с помощью XML всё делаю. Агрегатирование, обмен данными c сервером, layout, описание структуры и доступа к объектам как в модели, так и в представлении и даже бэктрекинг планирую:). Удобно.

expl 10.04.2013 13:47

Цитата:

Я с помощью XML всё делаю. Агрегатирование, обмен данными c сервером, layout, описание структуры и доступа к объектам как в модели, так и в представлении и даже бэктрекинг планирую. Удобно.
Дык не типизированное же оно.
Обмен с сервером - да(хотя, вроде AMF поудобнее и покомпактнее, но тут смотря какие требования к обмену с сервером), Статичные справочники, загружаемые клиентом - да. Но саму модель делать динамически типизированной и таскать по всей игре xml-объекты вместо типизированных экземпляров классов - это уже ооочень спорный момент (впринципе рабочий - мы динамические объекты такскали и делали доступ типа int(item[Item.Price]), но спорный)

UI на XML тоже спорная вещь.
Не первый раз слышу. Но каковы преимущества? Я нашёл только одно:
- не надо компилировать игру, чтобы пододвинуть кнопку на 1 пиксель.

Какие ещё?

Babylon 10.04.2013 13:50

PureMVC хороший фреймворк, также как и RL. Кто то правильно написал, что RL это оттюннингованный Pure

maloun365 10.04.2013 13:51

Цитата:

Сообщение от Babylon (Сообщение 1129111)
Конечно можно заваливать г/к. Разгребать его все равно не вам. Не зависимо от глубины.

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


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

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