Советы и примеры для самых маленьких

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

Enum

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

У меня есть текстура типа atlas (набор подизображений). И каждое подизображение имеет размер 16px. Для $Sprite я задаю параметры Vframes и Hframes, а вот сам frames я буду менять следующим образом:

enum images {barrel = 44, flower = 36, ballon = 34, flowers = 46}
export (images) var image = 44

func _ready():
	$image.frame = image

В массиве images находятся ключи и соответсвующие им значения. В image попадают значения типа int, а число 44 будет является фреймом по-умолчанию, чтобы $Sprite не остался пустым, если вдруг мы забудем назначить ему фрейм.

tips_001

Written on April 21, 2020