**Анимация спрайтов при создании 2D-игры — действительно важная часть этой игры.
Метод, который я собираюсь рассказать, подойдет буквально для любого игрового фреймворка:
> Логика имеет значение, синтаксис — нет.
Вот несколько шагов по реализации анимации:
Возьмите таблицу спрайтов, и лучше разделить ее на кадры, но если вы не хотите тратить время зря, вы также можете использовать таблицу спрайтов, но это касается другого блога.
Загрузите каждый кадр, используя список или понимание списка, т. е.
например, #python spritesheet = [pygame.image.load(f"Assets/{i}.png") for i in range(1, total_frames)] в данном случае 4
2.После того, как вы реализовали базовую настройку в своем коде, теперь вы можете создать метод с именем ## func/def/void animate_sprites()
или как вы хотите назвать это.
Теперь создайте несколько переменных, таких как анимация_boolean (которая сообщает, когда загружать анимацию) и анимация_index (которая содержит счетчик для каждого кадра).
Обратите внимание, что если вы хотите, чтобы анимация заканчивалась, вы можете пропустить анимациюanimation_boolean или установить для нее значение true навсегда.
Теперь внутри метода анимации_boolean(), когда anim_bool имеет значение true, т.е.:
если (animation_bool):
анимация_индекс = 1
if (animation_index >= 40):
animation_index = 0 # большее число означает
более плавную и медленную анимацию, а затем сбросьте ее до нуля. Убедитесь, что предел остановки должен быть кратен количеству кадров
Теперь, наконец, какой бы фреймворк вы ни использовали, отображайте спрайты с помощью встроенного метода рисования для любой библиотеки таким образом, чтобы индексация списка соответствовала номеру. кадров, т.е.
Вызовите метод рендеринга, и вот, вы научились анимировать спрайты буквально в любом фреймворке.
**
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3