Menu
CoddyTech

Tempatkan dengan Rect

Termasuk bagian Sprite dan Gambar dalam perjalanan Pygame di Coddy. Pelajaran 2 dari 36.

Menghitung sudut kiri atas secara manual berarti menjumlahkan posisi untuk setiap gambar yang kamu letakkan. Setiap Surface bisa memberikan Rect dengan ukurannya sendiri:

ship_rect = ship.get_rect(center=(320, 400))

get_rect() saja menghasilkan Rect(0, 0, 64, 64). Kata kunci menempatkan Rect: center, midbottom, topleft, atau titik lain yang dimiliki Rect. Di sini, titik tengah kapal berada di (320, 400), lalu pygame menghitung sudutnya, yaitu (288, 368).

Blit gambar pada Rect, maka gambar akan berada di sudut kiri atas Rect:

screen.blit(ship, ship_rect)

Sekarang Rect menjadi posisi kapal. Ubah ship_rect.x atau ship_rect.centery, lalu frame berikutnya akan menggambar kapal di sana. Beginilah setiap gambar dalam game bergerak: simpan Rect, ubah Rect, lalu blit pada Rect. Rect ini juga yang kamu gunakan untuk menguji tabrakan, seperti di bagian 2.

challenge icon

Tantangan

Mudah
  1. Setelah memuat ship, buat ship_rect = ship.get_rect(center=(320, 400)).
  2. Gambar ship pada ship_rect, bukan pada titik tetap.

Coba sendiri

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Space Images")
clock = pygame.time.Clock()

ship = pygame.image.load("assets/images/ship.png").convert_alpha()

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

    screen.fill((20, 22, 40))
    screen.blit(ship, (288, 208))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Sprite dan Gambar

Latihan sendiri: Playground Pygame