Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2014, 20:43
Febz вне форума Посмотреть профиль Отправить личное сообщение для Febz Найти все сообщения от Febz
  № 1  
Ответить с цитированием
Febz

Регистрация: Jan 2014
Сообщений: 8
По умолчанию Класс и экземпляры

Только начинаю изучать классы, пытаюсь создать один класс Enemy для разных типов врагов, который бы в зависимости от определенных условий создавал однотипных мобов но с разными внешним видом, значениями здоровья, силы и пр.

Создал мувиклип врага с несколькими кадрами на бег, удар и т.п, и в его Symbol Properties указал класс Enemy. Т.е при добавлении мувика на сцену, ему автоматически присваивается все методы и свойства этого класса.
А как теперь сменить мувиклип этого класса или присвоить этот же класс другому мувиклипу, где изображен другой враг? Или я вообще как-то неправильно подхожу к этому?

Старый 16.03.2014, 20:58
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Создаете новый мувиклип SubEnemy, рисуете графику, и в разделе "Связывание ActionScript->Базовый класс" указывайте ваш класс Enemy.

Старый 16.03.2014, 22:13
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Я бы делал так :
Имел бы общий класс Enemy ( view type ) , EnemyModel ( model type ) . В IDE создавал бы только ассеты ( графику ) . Далее линкованием занимался бы внутри ( кодом ).
Код AS3:
var _model:EnemyModel = new EnemyModel ();
_model.name = "Крокодил";
_model.assets = "Asset.swf";
_model.id = 12345;
var _croco:Enemy = new Enemy(_model);
Списки имен, айди, графики и прочее, можно держать ( даже нужно ) в отдельных файлах типа xml например, создавая в моделе алгоритм списания данных.
__________________
Марк Tween

Старый 16.03.2014, 22:51
Febz вне форума Посмотреть профиль Отправить личное сообщение для Febz Найти все сообщения от Febz
  № 4  
Ответить с цитированием
Febz

Регистрация: Jan 2014
Сообщений: 8
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'.".
Что не так?

Старый 17.03.2014, 00:38
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 5  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Зачем вам множественное наследование мувиков/графики? It's bad idea. fla файлы желательно использовать только для графических исходников.
"Разделяй и властвуй."

Старый 17.03.2014, 01:15
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 6  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Значит путь к классу указан неверно. Нужно писать название с учетом пакета в котором находится класс Enemy, как пример вот это flash.display.MovieClip

Но как сказали выше, это плохая идея.

Старый 17.03.2014, 10:46
Febz вне форума Посмотреть профиль Отправить личное сообщение для Febz Найти все сообщения от Febz
  № 7  
Ответить с цитированием
Febz

Регистрация: Jan 2014
Сообщений: 8
Хм, а каким тогда способом будет эффективней всего, если учитывать, что врагов будет много, но отличаться будут лишь внешним видом и значениями характеристик?

Старый 17.03.2014, 10:52
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 8  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Febz, вам уже in4core ответил по этому поводу.

Старый 17.03.2014, 17:50
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 9  
Ответить с цитированием
Babylon
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Я бы "линкование" вынес во внешний файл. Конечно кому нравиться лазить в код не могу запретить.

Старый 17.03.2014, 19:31
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Да по разному можно, главное общую систему понять, я пояснил как.
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:48.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.