![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2011
Сообщений: 35
|
-De-, эти проблемы притянуты за уши. Если закрыть глаза на реализацию отношений между объектами, АС3 отличается от "взрослых" языков только способом вывода на экран. Все перечисленные проблемы уже решены множеством способов в мириаде выпущенных нативных и не очень нативных игр.
На счёт GetArrayInt и прочего. Вкратце, суть в том, что нет ссылок, есть только числа (uint), которые обозначают какой-то объект. И вот по этим uint'ам нужно совершать все операции. На счёт игр на флеше. Захожу я, например, на арморгеймс (ссылка), смотрю, сколько раз играли в топовые игры, и слюна автоматически выделяется. .........D: Я изучаю АС3 не для того, чтобы всю жизнь делать унылые баннеры.) Последний раз редактировалось ShadowsInRain; 01.05.2011 в 01:00. |
|
|||||
|
Цитата:
Ды даже когда игру "морской бой" или какие-нибудь "Lines" пишешь - ты же не хранишь и не обрабатываешь данные в спрайтах? Спрайт убрали со сцены не вовремя ради эффектного появления - все досвидос данным. У тебя модель есть, которая хранит карту игры, есть контроллер, который обрабатывает действия пользователя в зависимости от состояния игры. Последний раз редактировалось expl; 01.05.2011 в 01:03. |
|
|||||
|
Цитата:
public class UnittLink { public var unit:Unit; } ... if (link.unit != null) { // действия с link.unit } В этом случае, как только занулили link.unit. Не удобнее ли это чем помнить что из какого хранилища по какому айдишнику достать? (если не брать во внимание вопросы производительности и создания кучи классов-ссылок или отказа от типизации - генериков то нет) Или какое-то преимущество упущено? Последний раз редактировалось expl; 01.05.2011 в 01:24. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 35
|
expl, да, это хороший вариант. По сути это и есть прообраз слабой ссылки, которые я имею в виду, умный её вариант. Не думаю, что производительность будет хоть как-то страдать, всё-же объекты не так часто умирают, даже если их тысяча (а ведь сотни-двух мне хватит позарез). Кучи классов-ссылок не будет, я планирую одну фабрику объектов, с малым количеством базовых классов (полдюжины веток: мобы, предметы, декорации, триггеры, и всё остальное - уже конкретные классы-потомки).
Последний раз редактировалось ShadowsInRain; 01.05.2011 в 02:40. Причина: детали в мелочах |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
В моём тёплом ламповом мире не должно быть никаких взаимодействий соседей с соседями - это глупость несусветная и нарушение первого закона термодинамики программирования - "надо знать как можно меньше" или "меньше знаешь - лучше спишь". Чем меньше связей - тем лучше. И никто не навязывал мне иерархию и DisplayObject тоже ни причём. В общем проблемы никакой нет. Есть незначительное неудобство при выборе неправильной архитектуры.
__________________
Отряд Котовскага |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
expl, КорДум, не, посоны, я не с вами, мне ближе
http://en.wikipedia.org/wiki/List_of...video_games#PC Ну хоть одна из тех? Да, неизвестно, что там, но вот 0 упоминаний про MVC с ними. По-моему, дела обстоят примерно так. Ну т.е., особая, уличная MVC. Render/Update - две разные функции, контроллер один на всё приложение (что с мышой и клавой говорит, если спросят). Для управляемых AI тварей разве что сделают ещё контроллер. И всё это в одном классе. Так на C++ мы и пишем, да =) И почему убирают спрайт не вовремя и как при этом происходит досвидос данным? Левел наследует спрайт - не такое плохое решение. Примерно так и пишу (вернее писал, сейчас на работе С++, дома рендер всего в одну битмапу и несерьёзно). У меня, правда, свой спрайт был, который если я не извращался и не дёргал graphics (что редко) - отлично переживёт переход на Molehill. А вам при переходе на Molehill нужно будет править вашу кучу вьюх? =) PS: UnittLink по сути ссылка на ссылку =) PPS: ой, оффтоп, всех люблю, но больше тут не пишу.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 01.05.2011 в 04:26. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
Что касается вопроса автора - на мой взгляд, именно этой проблемы нет. Т.е., есть другие (например, та же производительность при визуализации локации с большим количеством анимированных объектов), в ходе решения которых по-любому придется писать ремуверы/деструкторы к своим объектам. Со ссылками тоже ничего волшебного нет. Пишешь addEventListener - тут же пиши removeEventListener. А вообще, интересно посмотреть, что получится у автра, если он решил сразу начинать с "нетривиального" приложения. Предвижу основательный рефакторинг на последнем этапе разработки приложения. ![]() |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 35
|
Раскажите это Ромеро и Кармаку, например.
Цитата:
У меня нет выбора — начать с простого, или сразу взяться за сложное. У меня есть выбор — решить задачу средствами флеш и АС3, или вернутся к нативному решению на С++. |
|
|||||
|
ShadowsInRain, покажите лучше Ромеро и Кармаку вот эту ссылку: http://ru.wikipedia.org/wiki/Инкапсу...ограммирование)
Цитата:
__________________
тут я Последний раз редактировалось КорДум; 01.05.2011 в 14:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:55. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| AS3 , delete , references |
|
|