![]() |
|
||||||||||
|
|||||
|
Здравствуйте. Вопрос скорее - продолжение темы, созданной мною ранее о гонках, но так как от концепции 3D я отказался, то создал новую тему.
Трасса прямая, автомобиль едет какбы вглубь трассы (на самом деле стоит на месте), ему навстречу попадаются разные обьекты. Вот думаю как организовать код. Планирую создать базовый класс Subject, который будет представлять эти движущиеся обьекты и иметь базовый набор свойств и методов. Люди будут иметь свое поведение, свои уникальные методы, деревья свои и т.д. Поэтому создаю подклассы Human, Tree, дорожные знаки и много чего еще... Все это дело наследую от класса Subject. Но теперь проблема: в классе игры мне не удобно в ентерфрейме перемещать каждый елемент по сцене. И вот думаю так: Создать в базовом классе Subject слушатель ентерфрейм и приемник события - метод loop(). В то же время в подклассах: Human, Tree, через override переопределять метод loop() и в нем прописывать поведение екземпляра уникальное для Human и для Tree (тоесть менять координаты екземпляра по х и по у, высчитывать поведение данного обьекта и т.д.). Как я понимаю, слушатель событий по идее один... Но, так как подклассов и их экземпляров будет много - каждый из них будет иметь свой обработчик. Это не будет грузить компьютер? Скажите, такой подход приветствуется? Может есть предложения более оптимальные?
__________________
Я мало чего умею, но зато хорошо умею учиться... Последний раз редактировалось HardCoder; 16.05.2011 в 10:40. |
![]() |
Часовой пояс GMT +4, время: 09:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|