Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah
  1. Setelah set_mode, muat assets/images/ship.png dengan .convert_alpha() ke dalam variabel bernama ship.
  2. Di dalam perulangan, setelah mengisi layar, blit ship dengan 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

Latihan sendiri: Playground Pygame