Показать сообщение отдельно
Старый 02.09.2019, 15:20
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 4  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
Цитата:
Сообщение от СлаваRa Посмотреть сообщение
Что было сделано уже? Какая проблема решается?
Есть ровно то, что описано выше. Базовый класс и несколько его наследников. Проблема в том, что в отличии от NPC, которых создаёт сама программа (т.е. я заранее знаю, какой наследник должен быть создан), в случае с персонажем игрока, конкретный наследник неизвестен в момент запуска программы, его пользователь выбирает в рантайме.

Цитата:
Сообщение от ZergMaster Посмотреть сообщение
А нельзя просто вектор классов сделать, и потом создавать нужный экземпляр?
точно не помню синтаксис, но как-то так

Код AS3:
private var characters: Vector.<Character> = [Character1, Characxter2, ..., CharacterN];
 
var character: Character = new characters[n];
А так реально будет работать? Круто, не знал.

Цитата:
ну или если нужно по идентификаторам строковым вызывать обязательно, то сделать мапу, либо объект.
Строковые идентификаторы - разумеется не самоцель. Правда для NPC я послушал советы камрадов с форума и разделил код и справочные данные. Последние записал в файлы JSON. Таким образом, там строковые ID более уместными получились.
__________________
Не сломано - не чини!