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