Hadap ke Arah Terbangmu
Termasuk bagian Sprite dan Gambar dalam perjalanan Pygame di Coddy. Pelajaran 7 dari 36.
Kapal menghadap ke atas dalam file-nya. Setelah diputar dengan rotate(ship, -90), kapal menghadap ke kanan, cocok untuk kapal yang terbang menyamping. Saat terbang ke kiri, kapal seharusnya menghadap ke kiri.
pygame.transform.flip(image, flip_x, flip_y) memberimu salinan yang dicerminkan. True, False mencerminkannya dari kiri ke kanan; False, True mencerminkannya dari atas ke bawah.
ship_right = pygame.transform.rotate(ship, -90)
ship_left = pygame.transform.flip(ship_right, True, False)Kedua gambar dibuat sekali, sebelum perulangan. Game kemudian mengingat gambar mana yang harus ditampilkan dalam sebuah variabel, dan tombol mengubahnya:
if keys[pygame.K_LEFT]:
ship_rect.x -= 5
image = ship_leftGambar image setiap frame. Saat tidak ada tombol yang ditekan, image mempertahankan nilai terakhirnya, sehingga kapal terus menghadap ke arah terakhir kali terbang.
Tantangan
Sedang- Sebelum perulangan, buat
ship_left:ship_rightyang dibalik dari kiri ke kanan. - Buat
image = ship_rightsebelum perulangan. - Menahan tombol Kiri mengatur
image = ship_left; menahan tombol Kanan mengaturimage = ship_right. Gerakannya tetap seperti semula. - Gambar
imagepadaship_rect.
Coba sendiri
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Face the Way You Fly")
clock = pygame.time.Clock()
ship = pygame.image.load("assets/images/ship.png").convert_alpha()
ship_right = pygame.transform.rotate(ship, -90)
ship_rect = ship_right.get_rect(center=(320, 240))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
ship_rect.x -= 5
if keys[pygame.K_RIGHT]:
ship_rect.x += 5
ship_rect.clamp_ip(screen.get_rect())
screen.fill((20, 22, 40))
screen.blit(ship_right, ship_rect)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Sprite dan Gambar
2Putar, Cerminkan, Ubah Skala
Putar Mengelilingi Titik TengahHadap ke Arah TerbangmuUbah Skala GambarPutar dari Gambar Asli3class untuk object game
class pertamamumethodself adalah objectlist berisi objectobject dengan gambarsubclass6Animasi dari Sprite Sheet
Memotong Sprite SheetPenghitung FrameMenganimasikan dengan WaktuLedakan Sekali JalanLatihan sendiri: Playground Pygame