Si Pelari
Termasuk bagian Aturan Game dalam perjalanan Pygame di Coddy. Pelajaran 23 dari 29.
Bab ini membangun Sky Runner, sebuah game endless runner. Pelari tetap berada dekat tepi kiri sementara rintangan datang dari kanan. Kamu melompatinya selama mungkin. Langit dan tanah digambar. Pelari adalah sprite, seperti di bagian 3:
class Runner(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = pygame.image.load("assets/images/player.png").convert_alpha()
self.rect = self.image.get_rect(midbottom=(100, GROUND_Y))midbottom menempatkan bagian tengah tepi bawah gambar pada suatu titik. Kaki pelari berada di bagian bawah gambarnya, jadi midbottom=(100, GROUND_Y) membuatnya berdiri di atas tanah pada x 100, berapa pun tingginya.
GROUND_Y adalah koordinat y tepi atas tanah, 260. Semua yang berdiri di atas tanah menggunakannya, jadi memindahkan tanah nanti cukup dilakukan dengan satu perubahan.
Tantangan
Mudah- Tulis class sprite
Runneryang gambarnya adalahassets/images/player.pngdan rect-nya memilikimidbottomdi (100,GROUND_Y). - Buat satu instance bernama
runnersebelum perulangan. - Blit
runner.imagedirunner.rectsetelah menggambar tanah.
Coba sendiri
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 320))
pygame.display.set_caption("Sky Runner")
clock = pygame.time.Clock()
SKY = (140, 200, 240)
GROUND = (90, 160, 80)
GROUND_Y = 260
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill(SKY)
pygame.draw.rect(screen, GROUND, (0, GROUND_Y, 640, 60))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Aturan Game
Latihan sendiri: Playground Pygame