Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah
  1. Tulis class sprite Runner yang gambarnya adalah assets/images/player.png dan rect-nya memiliki midbottom di (100, GROUND_Y).
  2. Buat satu instance bernama runner sebelum perulangan.
  3. Blit runner.image di runner.rect setelah 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