Menu
CoddyTech

Balok yang Jatuh

Pelajaran 10 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.

Benda yang jatuh adalah benda yang nilai y-nya bertambah pada setiap frame. Jadikan block sebuah Rect juga, lalu tambahkan nilai pada y-nya di setiap iterasi perulangan:

block = pygame.Rect(220, 0, 20, 20)

while running:
    # peristiwa dan tombol
    block.y += 3
    # isi, gambar

Pada 60 frame per detik, 3 piksel per frame sama dengan 180 piksel per detik. Tinggi window adalah 360, jadi block membutuhkan waktu dua detik untuk mencapai bagian bawah.

block terus jatuh setelah meninggalkan window. Belum ada yang menghentikannya; pelajaran berikutnya akan membawanya kembali.

challenge icon

Tantangan

Mudah
  1. Di bawah keranjang, buat block = pygame.Rect(220, 0, 20, 20).
  2. Dalam perulangan, setelah keranjang bergerak, tambahkan 3 ke block.y.
  3. Gambar blok dengan warna merah (235, 80, 80) setelah keranjang.

Coba sendiri

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()

basket = pygame.Rect(200, 330, 80, 16)

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

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        basket.x -= 8
    if keys[pygame.K_RIGHT]:
        basket.x += 8
    basket.clamp_ip(screen.get_rect())

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), basket)
    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 Buat Game dengan Pygame

Latihan sendiri: Playground Pygame