Menu
CoddyTech

Rect ile Yerleştir

Coddy'nin Pygame Journey'sinin Sprite'lar ve Görseller bölümünün bir parçası. Ders 2 / 36.

Sol üst köşeyi elle hesaplamak, yerleştirdiğin her görüntü için toplama işlemleri yapmak demektir. Her Surface, kendi boyutlarında bir Rect verebilir:

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

get_rect() tek başına Rect(0, 0, 64, 64) değerini verir. Bir anahtar sözcük, Rect'in hangi noktasının kullanılacağını belirler: center, midbottom, topleft veya Rect'in sahip olduğu başka herhangi bir nokta. Burada geminin merkezi (320, 400) konumuna yerleşir ve pygame köşeyi (288, 368) olarak hesaplar.

Görüntüyü Rect konumuna blit et; böylece görüntü Rect'in sol üst köşesine yerleşir:

screen.blit(ship, ship_rect)

Artık Rect, geminin konumudur. ship_rect.x veya ship_rect.centery değerini değiştir; sonraki kare gemiyi o konumda çizer. Oyundaki her görüntü bu şekilde hareket eder: bir Rect tut, Rect'i değiştir, Rect konumuna blit et. Ayrıca 2. bölümde olduğu gibi çarpışmaları kontrol ettiğin Rect de budur.

challenge icon

Görev

Kolay
  1. ship'i yükledikten sonra ship_rect = ship.get_rect(center=(320, 400)) oluştur.
  2. ship'i sabit bir nokta yerine ship_rect konumuna blit et.

Kendin dene

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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Sprite'lar ve Görseller bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground