![]() |
Класс и экземпляры
Только начинаю изучать классы, пытаюсь создать один класс Enemy для разных типов врагов, который бы в зависимости от определенных условий создавал однотипных мобов но с разными внешним видом, значениями здоровья, силы и пр.
Создал мувиклип врага с несколькими кадрами на бег, удар и т.п, и в его Symbol Properties указал класс Enemy. Т.е при добавлении мувика на сцену, ему автоматически присваивается все методы и свойства этого класса. А как теперь сменить мувиклип этого класса или присвоить этот же класс другому мувиклипу, где изображен другой враг? Или я вообще как-то неправильно подхожу к этому? |
Создаете новый мувиклип SubEnemy, рисуете графику, и в разделе "Связывание ActionScript->Базовый класс" указывайте ваш класс Enemy.
|
Я бы делал так :
Имел бы общий класс Enemy ( view type ) , EnemyModel ( model type ) . В IDE создавал бы только ассеты ( графику ) . Далее линкованием занимался бы внутри ( кодом ). Код AS3:
|
alexandrratush,
- создаю новый мувиклип, - отмечаю чекбокс Export for ActionScript, - в поле Class пишу рандомное название, - в поле Base class вместо "flash.display.MovieClip" ввожу Enemy и жму ОК. Выдает "A definition for the base class could not be found in the classpath. Please enter the name of a class that is defined in the classpath, or enter the default base class 'flash.display.MovieClip'.". Что не так? |
Зачем вам множественное наследование мувиков/графики? It's bad idea. fla файлы желательно использовать только для графических исходников.
"Разделяй и властвуй." |
Значит путь к классу указан неверно. Нужно писать название с учетом пакета в котором находится класс Enemy, как пример вот это flash.display.MovieClip
Но как сказали выше, это плохая идея.:) |
Хм, а каким тогда способом будет эффективней всего, если учитывать, что врагов будет много, но отличаться будут лишь внешним видом и значениями характеристик?
|
Febz, вам уже in4core ответил по этому поводу.
|
Я бы "линкование" вынес во внешний файл. Конечно кому нравиться лазить в код не могу запретить.
|
Да по разному можно, главное общую систему понять, я пояснил как.
|
| Часовой пояс GMT +4, время: 16:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.