Главная » Статьи » Статьи

Атрибуты

Атрибуты

Большинство игр очень динамичны: персонаж перемещается когда игрок нажимает на кнопки, меняются такие параметры как здоровье и очки. Многие из этих параметров вам, как разработчику, хотелось бы отслеживать. Для подобных случаев мы будем использовать значения, называемые атрибутами.
 

Содержание

  • Что такое атрибуты?

  • Создание атрибутов.

  • Использование атрибутов в поведении.

  • Скрытые или видимые.

  • Атрибуты в выпадающем меню

 

Что такое атрибуты?

Атрибуты изменяемые значения, которые используются в поведении Stencyl. Они позволяют поведению отслеживать динамические части игры, а разработчикам настраивать поведения, не редактируя их непосредственно.

Каждый атрибут имеет значение связанное с типом. Например:

  • Атрибут, называемый здоровье может иметь значение 5 и числовой тип.

  • Атрибут называемый «рубашка цвета» может иметь значение синий и тип цвет.

  • Атрибут называется имя героя может иметь значение Link и текстовый тип.

В общей сложности существует 16 различных типов атрибутов.

stencyl-design-mode-attributes-behavior-configuration

Главные особенности атрибутов — их можно изменять и настраивать.



Изменение

Атрибуты поведения не имеют начального значения, установленного для них. (В большинстве случаев вам этого и не нужно)

Когда вы создадите атрибут вы присвоите ему значение по умолчанию. Однако, в зависимости от происходящего в игре, вы захотите изменять это значение.

Рассмотрим атрибут здоровья, упомянутый выше. Хотя изначально он может быть равен 5 в случае получения повреждений он должен быть изменен.



Настройка

Рассмотрим поведение, называемое Прыжок. Оно было разработано, что бы определить, насколько высоко актер может прыгнуть.

После добавления этого поведения к актеру для изменения высоты прыжка нужно будет просто изменить значение в Actor Editor. И нет никакой необходимости менять все поведение.

Посмотрим на двух актеров, с некоторыми установленными для них значениями высоты прыжка.

  • Этот атрибут для тыквы установлен в 2.

  • Атрибут для фигурки человечка установлен в 1.

Обратите внимание, что тыква прыгает в два раза выше чем человечек.

stencyl-design-mode-attribute-value



Создание атрибутов

Атрибуты создаются как часть поведения актера или сцены, используя кнопку Add Attribute в режиме конструктора.

Давайте вернемся к вертикальному шутеру который мы сделали ранее. Мы добавили событие создающее лазерный луч, когда игрок нажимает кнопку.

stencyl-design-mode-attribute-creation

Вы заметите, что мы "жестко" задали скорость лазерного луча в значением -20. При этом возникают две проблемы:

  1. Каждый раз, когда мы хотели изменить это значение на что-то другое, мы должны были бы изменить само поведение.

  2. Это значение должно быть одинаковым для любого актера, к которому применяется поведение



Чтобы справиться с обеими этими проблемами, давайте создадим атрибут скорость и используем его вместо значения -20.

При открытом поведении лазера выберете вкладку Attributes в палитре и нажмите кнопку Add Attribute.

stencyl-design-mode-add-attribute

В диалоговом окне, которое появляется, вы можете выбрать название, описание и тип атрибутов, а также указать, можно ли его изменять (с помощью флажка скрытия). Мы добавим атрибут скорость и сделаем его настраиваемым в редакторе, оставив флажок снятым.

stencyl-design-mode-create-attribute-dialog

Нажмите OK для создания атрибута.

Обратите внимание, что новые характеристики появятся в каталоге характеристик. Установите атрибут скорость в значение -20 (то же значение, что мы уже использовали).

stencyl-design-mode-attribute-pane



Использование атрибутов в поведении

После того, как атрибут был создан, Stencyl добавляет блоки в режиме конструктора, которые мы можем использовать для получения или изменения значения атрибута.

stencyl-design-mode-attribute-getter-setter-buttons

Давайте воспользуемся атрибутом скорости который мы создали.

1) Перейдите обратно к палитре и нажмите на категорию Attributes . Обратите внимание, что атрибуты перечисляются по их типу.



stencyl-design-mode-attribute-palette-category

2) Перетащите и отпустите блок Скорость в блок set y-speed to [-20] for [Last Created Actor].

stencyl-design-mode-drag-attribute-block-example

3) Перейдите к актеру корабль, которому мы уже подключили это поведение.

Примечание :  Если актер корабль уже был открыт, мы должны сказать Stencyl перезагрузить  атрибуты поведения. Нажмите Ctrl-R  ( Cmd-R на Mac), чтобы сделать это.

4) После выбора поведения лазера справа появится атрибут скорости, имеющий значение по умолчанию введенное нами ранее.

stencyl-design-mode-behavior-attribute-configuration-example

 

Спрятанный или видимый

Обратите внимание, что скорость лазерного луча теперь может быть установлена без того, чтобы идти в режиме конструктора и изменять поведение. Мы называем этот атрибут видимым атрибутом, то есть атрибут редактируется в Actor Type Editor.

Атрибуты, которые мы не хотим редактировать в Actor Type Editor называют скрытые атрибуты.

Мы создаем видимый атрибут, если не нажимаем на флажок Hidden?

stencyl-design-mode-hidden-attribute

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

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



Атрибуты в выпадающем меню

Как мы видели в статье Работа с Поведением, поля некоторых блоков позволяют выбрать один из нескольких заранее определенных вариантов. Атрибуты могут быть использованы также и в этом случае.

stencyl-design-mode-block-dropdown

Давайте используем эту технику для создания второго атрибута, для поведения нашего лазера.

1) Перейдите обратно в режим конструктора и после аналогичных шагов (как и прежде), создайте второй атрибут кнопки огня, имеющий тип control. Вместо создания сложного управления внутри оболочки блоков как раньше, мы создадим значение, которое пользователи смогут настроить.

stencyl-design-mode-control-attribute-block-example

2) Нажмите на выпадающем меню внутри оболочки блоков а затем нажмите кнопку Choose Attribute. Выберите новый атрибут, и нажмите кнопку OK.

stencyl-design-mode-select-attribute-dropdown

Совет : Кроме того, мы могли бы просто перетащить характеристики блоков из палитры непосредственно в выпадающем списке.

stencyl-design-mode-drag-attribute-dropdown

3) Теперь мы можем настроить этот атрибут, так же, как мы делали раньше. (Не забудьте перезагрузить документ Ctrl-R или Cmd-R, если новый атрибут не появляется.)

stencyl-behavior-customize-attribute-example




Источник: http://www.stencyl.com/help/view/attributes/
Категория: Статьи | Добавил: corax (08.12.2012)
Просмотров: 2251 | Рейтинг: 0.0/0
Всего комментариев: 0