Я пишу движок игры AS3/Flex4, и я хочу иметь базовый класс для любого элемента, который можно поместить в сценарный график. Я задавался вопросом, является ли расширение UIComponent правильным подходом, но там, кажется, есть много внутреннего материала, там я не хочу запутываться ... если возможно, у меня будет некоторое разделение между моим движком и инфраструктурой Flex , И я не уверен, добавляет ли UIComponent накладные расходы?Какие интерфейсы/базовый класс должен реализовать/расширить класс базового рендерируемого ядра AS3?
Мое ренесансное основание может делать довольно произвольные вещи, но на данный момент состоит из рисования простых фигур, таких как линии и другие примитивы.
Что может сделать достойную архитектуру? Кроме того, у многих игровых движков есть метод «рендеринга», чтобы перерисовать всю сцену ... но я предполагаю, что в приложении Flex я должен играть с DisplayObjectContainer или Canvas, а не свернуть свой собственный?
Что относительно DisplayObject? –
@John. Вы не можете реализовать DisplayObject (это не интерфейс), и вы не можете его расширять: он не помечен как final, но ведет себя так, как если бы он был окончательным и абстрактным; вы не можете установить его напрямую, и вы можете подклассифицировать его напрямую, или во время выполнения ваш конструктор вызовет ArgumentError; это связано с уродливым взломом в API списка отображения, но так оно и есть. Итак, я бы сказал, пойдите со Спрайтом. –
+1. Не ходите по маршруту Flex для игрового движка. Есть много вещей, которые вам не понадобятся, но они добавили бы высокую стоимость исполнения (и время загрузки во многих случаях). Кроме того, в большинстве (всех?) Флеш-игр не используется Flex, поэтому эти игры должны добавлять непрямую (и, возможно, нежелательную) зависимость, если они должны использовать ваш движок. –