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

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

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

Регистрация: May 2010
Сообщений: 18
По умолчанию Привязать иерархию своих классов к символам из библиотеки для вывода на stage.

Добрый день!
Столкнулся с такой проблемой.
Итак, делаю игру Rogue-like RPG (разновидлность пошаговой РПГ с полем в виде клеток, где на каждой клетке дискретно размещены элементы, например, пустой пол, кусок стены, игрок, монстр, и.т.д, несколько кусков стены в ряд формирует стену, к примеру), где, в простейшем виде есть базовый класс - Entity: всё, что имеет графичесое представление, будь то стена, пол, или монстр.

Мне кажется логичной такая идея(в простейшем виде): от Entity наследуется несколько классов: стена, пол, актёр. От актёра, в свою очередь наследуется класс игрока и монстра. От монстра наследуется целая иерархия их разновидностей до 9-го колена, т.к. у каждого семейства монстров могут быть свои дополнительные методы: типа кинуть камень, или убежать за угол и.т.п.

Вопрос вот в чём. Я наследую базовый класс всех отображаемых предметов (так как они анимированы) от movieclip. В библиотеке во Flash CS5 я строю иерархию графических элементов: стены, пол, игрок, монстры, и.т.д с помощю системы каталогов (например, каталог Goblin имеет разновидности гоблинов(symbol): пещерный, лесной, зелёный, злой, и.т.д. ). Насколько я правильно понимаю, если в свойствах символа не указать "Export for ActionScript", то через as файлы нельзя будет отображать экземпляры символов на stage(поправьте, если я неправ). Допустим я указываю импортировать в AS. по умолчанию создаваемый класс наследуется от Movieclip. ДОпустим, я хочу работать с классом Wall. Свой базовый класс Entity я наследовал от того же Movieclip. От него я наследую, например, класс Wall. Когда я пишу в коде, который был создан после активизации галочки "export for AS", вместо "extends movieclip" "extends Entity" я получаю сообщение об ошибке. Хтя, казалось бы, при наследовании от класса, который наследуется от Movieclip, у него должны быть все те же методы и свойства, что и у movieclip.

Как мне поступить, чтобы я мог воспользоваться полиморфизмом в иерархии своих классов, а именно, методом Display() для любого объекта подкласса базового класса Entity, который позволяет отобразить монстра, стену, и.т.п. на stage, не говоря об отображении их различных состояний: убитый монстр, раненый монстр, целый монстр, и.т.п? У базового класса предполагается как минимум свойства координат в игровом пространстве, которые наследуются по всей иерархии.

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

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

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


 


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


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