![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 221
|
Начал мучать еще один вопрос
Есть некий базовый класс BaseBuilding, у которого есть статический метод который возвращает иконку строения. Каждый класс наследник соотвественно этот статический метод переписывает. Дальше, есть класс BuildMenu, который показывает окошко с этими иконками строений. Для этого у него есть массив с классами конкретных построек (ConcreteBuilding1, ConcreteBuilding2, ... etc). При формировании сетки с иконками происходит примерно следующее for(var i:int = 0; i < buildings.lenght; i++) { var BuildingClass:Class = buildings[i]; var buildingIcon:Sprite = BuildingClass.getIcon(); //... } Несколько слов о том, зачем это вообще мне надо. -Во-первых это удобно, когда не нужно создавать для каждой иконки свой отдельный класс. -Во-вторых, оттуда же, выбрав постройку, я могу отправить класс объекту, который будет создавать постройки на карте, например: при клике на иконку: реализация: public static function build(BuildingClass:Class):void { var building:BaseBuilding = new BuildingClass(param); //... } Вобщем такой вот вопросец: возможно ли привести Class к типу BaseClass, так чтобы он продолжал быть обектом-классом? Или может быть вообще есть решение лучше чем заниматься такой морокой? |
![]() |
Часовой пояс GMT +4, время: 06:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|