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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.09.2017, 14:39
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 3  
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Это ВООБЩЕ к персонажу не относится, это относится, если хотите, к интерфейсу, к показу на экране описаний того, что происходит. Этим не персонаж занимается, это не его ответственность.
Огромное спасибо! Очень доходчиво, логику уловил. Ох и тяжко же укладывается в голову философия ООП...

Цитата:
Сразу бросается в глаза, что эти данные — справочные, то есть они не участвуют в рассчетах, в математике (скорости движений, нанесенного ущерба, сопротивления атаке и т.п.). В контексте персонажа его свойства — это числа, величины.
То есть получается, касательно класса Character спокойно оставляем обычные свойства со своими значениями у экземпляров этого класса, к которым будем обращаться или изменять в процессе, верно?

Цитата:
Налицо необходимость абстрагировать все эти descriptions в отдельный класс-хранитель описаний (не обязательно константами — если есть желание в будущем сделать возможность выбора языка интерфейса, то может быть тексты будут подгружаться извне в виде XML)
Да, всё понятно. Наверное, пока константами, а потом уже можно будет и мультиязычность добавить. Здесь такой встречный вопрос. Что, по твоему экспертному мнению, правильнее хранить в подобном классе-хранителе описаний: только инфо по однотипным объектам (в нашем примере игровым характеристикам персонажа) или вообще все описания, встречающиеся в игре? Какова общепринятая практика: собирать все текста приложения в некий общий класс, продумав систему идентификаторов, и по ним выдёргивать, или хранить описания в разных классах? Сейчас подумалось, что если у персонажа есть имя и фамилия (сейчас это свойства firstName и lastName в классе Character), то следуя приведённой логике, это тоже лишняя инфо, место которой в неком отдельном классе, откуда мы будем доставать её исключительно для вывода пользователю в нужный момент. Верно рассуждаю?

Цитата:
Этот же класс может реализовывать несколько статических методов для получения описаний, получающих идентификатор свойства и, если надо, его величину, и возвращающих строку описания.
Ну, типа Descriptions.getHint(propID:String, propValue:int):String
Я правильно понимаю, что свой propID должен назначаться каждой игровой характеристике в классе Character как статическое свойство? Тогда получается, что в метод getHint класса Descriptions мы передаём propID нужной характеристики из класса Character и текущее значение данной характеристики из экземпляра класса Character (propValue)? По ним лезем в двумерный массив с текстовыми описаниями (типа первый индекс - наименование свойства, второй - нужная расшифровка для полученного значения) и вытаскиваем оттуда нужный текст, верно?

Здесь у меня тоже возникает уточняющий вопрос. Насколько я понимаю, все идентификаторы правильнее задавать константами, дабы не путаться. Продолжая наш пример, сделаем propID для силы константу const CHARACTER_STRENGTH_ID = 1, и т.д., чтобы потом не запоминать, где ноль, а где 25. Вопрос, учитывая систему областей видимости, в каком месте программы должны объявляться подобные константы? Ведь они будут использоваться уже как минимум в 2х отдельных классах: Character и Description.

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

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

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


 


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


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