Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta Sprite Animasi dalam Pygame menggunakan Siri Imej?

Bagaimana untuk Mencipta Sprite Animasi dalam Pygame menggunakan Siri Imej?

Mary-Kate Olsen
Lepaskan: 2024-11-10 01:02:02
asal
265 orang telah melayarinya

How to Create an Animated Sprite in Pygame using a Series of Images?

Sprite Animasi daripada Beberapa Imej

Dalam artikel ini, kita akan menyelidiki cara mencipta sprite animasi menggunakan satu siri imej dalam Python menggunakan Pygame. Kami akan merangkumi kedua-dua teknik animasi yang bergantung pada bingkai dan bergantung kepada masa.

Sebelum Gelung Utama

Pertama, kami memuatkan semua imej ke dalam senarai. Kemudian, kami mencipta tiga pembolehubah:

  1. indeks: Menjejaki indeks semasa senarai imej.
  2. current_time: Menjejaki yang telah berlalu masa sejak suis imej terakhir.
  3. masa_animasi: Mentakrifkan berapa banyak masa yang perlu berlalu sebelum menukar imej.

Semasa Gelung Utama

Di dalam gelung permainan utama, kami:

  1. Kenaikan masa_semasa berdasarkan masa berlalu sejak yang lalu bingkai.
  2. Semak jika masa_semasa melebihi masa_animasi. Jika benar, kami:

    • Tetapkan semula masa_semasa kepada 0.
    • Tambahan indeks dalam senarai imej.
    • Tukar imej sprite sewajarnya.

Pelaksanaan

Berikut ialah contoh lengkap:

import pygame

screen = pygame.display.set_mode((640, 480))
clock = pygame.time.Clock()

# Load images
images = [pygame.image.load("explosion" + str(i) + ".png") for i in range(10)]

# Create animated sprite
animation_time = 0.1
current_time = 0
index = 0

class Sprite(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = images[index]
        self.rect = self.image.get_rect()

    def update(self, dt):
        global current_time, index
        current_time += dt
        if current_time >= animation_time:
            current_time = 0
            index = (index + 1) % len(images)
            self.image = images[index]

sprite = Sprite()
group = pygame.sprite.Group(sprite)

running = True
while running:
    dt = clock.tick(60) / 1000

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    group.update(dt)

    screen.fill((0, 0, 0))
    group.draw(screen)
    pygame.display.update()
Salin selepas log masuk

Dengan memahami jangka masa dan peralihan terlibat, anda boleh mencipta sprite animasi yang menarik secara visual dalam Pygame anda sendiri projek.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Sprite Animasi dalam Pygame menggunakan Siri Imej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan