Görseli Taşı
Coddy'nin Pygame Journey'sinin Sprite'lar ve Görseller bölümünün bir parçası. Ders 3 / 36.
Gemi pencerenin alt kısmında durur. Onu sola ve sağa hareket ettirmek için, 2. bölümde kareyi hareket ettirdiğin gibi ok tuşlarıyla Rect'ini hareket ettir:
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
ship_rect.x -= 6
if keys[pygame.K_RIGHT]:
ship_rect.x += 6blit satırı değişmez: Rect'in o an bulunduğu yere çizer.
Bir Rect, kendisini başka bir Rect'in içinde tutabilir. screen.get_rect() pencerenin Rect'idir (0, 0, 640, 480) ve
ship_rect.clamp_ip(screen.get_rect())taşan ship_rect'i tekrar içine alır. _ip, yerinde anlamına gelir: ship_rect'in kendisini değiştirir. _ip olmadan kullanılan ship_rect.clamp(...), ship_rect'e dokunmaz ve bunun yerine yeni bir Rect verir.
Görev
Kolay- Döngüde, çizimden önce, Sol tuşunu basılı tutmak
ship_rectöğesini 6 piksel sola, Sağ tuşunu basılı tutmak ise 6 piksel sağa hareket ettirir. - Ardından
ship_rect.clamp_ip(screen.get_rect())ile pencerenin içinde tut.
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()
ship_rect = ship.get_rect(center=(320, 400))
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, ship_rect)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Sprite'lar ve Görseller bölümündeki tüm dersler
4Sprite'lar ve Gruplar
Sprite SınıfıGruplarkill() ile Kaldırmaspritecollide ile YakalamaGruba Karşı Grup2Döndür, Yansıt, Ölçekle
Merkez Etrafında DöndürUçtuğun Yöne DönBir Görseli ÖlçekleOrijinalinden Döndür5Piksel Hassasiyetinde Çarpışmalar
Dikdörtgenler Haksız HissettiriyorMaskelerPiksel Hassasiyetinde Sprite'larDaire Hitbox'ları3Oyun Nesneleri için Sınıflar
İlk SınıfınızMetotlarSelf Nesnenin KendisidirNesneler ListesiGörselli NesnelerBir Alt Sınıf6Sprite Sheet'lerden Animasyon
Bir Sprite Sheet'i KesmekBir Kare SayacıZamanla AnimasyonTek Seferlik Bir PatlamaKendi başına pratik yap: Pygame playground