Muat Gambar
Termasuk bagian Sprite dan Gambar dalam perjalanan Pygame di Coddy. Pelajaran 1 dari 36.
Game menggambar gambar, bukan hanya bentuk. Gambar berasal dari file gambar, dan pygame mengubah file tersebut menjadi Surface, jenis objek yang sama seperti window: kisi piksel yang bisa kamu gambar.
ship = pygame.image.load("assets/images/ship.png").convert_alpha()Path-nya relatif terhadap main.py: game memiliki folder assets di sebelahnya, dan tab Assets di samping game menampilkan setiap file di dalamnya.
convert_alpha() menyalin gambar ke format piksel milik window, sehingga menggambarnya setiap frame berlangsung cepat dan piksel transparannya tetap terjaga. Fungsi ini memerlukan window, jadi muat gambar setelah set_mode. Muat setiap gambar sekali, sebelum perulangan: membaca file 60 kali per detik akan memperlambat game.
Untuk menggambar gambar, gunakan blit pada window. Posisi menentukan letak sudut kiri atas gambar:
screen.blit(ship, (288, 208))Gunakan blit setelah screen.fill(...), atau fill akan menimpanya.
Tantangan
Mudah- Setelah
set_mode, muatassets/images/ship.pngdengan.convert_alpha()ke dalam variabel bernamaship. - Di dalam perulangan, setelah mengisi layar, blit
shipdengan sudut kiri atasnya berada di(288, 208). Kapal berukuran 64 kali 64 piksel, jadi posisinya berada di tengah jendela berukuran 640 kali 480.
Coba sendiri
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Space Images")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((20, 22, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Sprite dan Gambar
1Memuat Gambar
Muat GambarTempatkan dengan RectPindahkan GambarBuat Latar BerulangPiksel Tembus Pandang2Putar, 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