Menu
CoddyTech

Tombol Menggerakkan Bulan

Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 11 dari 32.

pygame.key.get_pressed() memberitahumu tombol mana yang sedang ditekan pada frame ini. Simpan hasilnya sekali setiap frame, lalu periksa tombol tertentu:

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
    moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
    moon_x = moon_x + 4

keys[pygame.K_LEFT] bernilai True saat tombol panah kiri ditekan dan False jika tidak, jadi if di bawahnya berjalan pada setiap frame saat tombol ditekan. Tahan tombol panah kanan selama satu detik dan bulan bergerak sejauh 240 piksel.

Setiap tombol memiliki nama: K_UP, K_DOWN, K_SPACE, K_a untuk A, K_d untuk D.

Gunakan dua if terpisah, satu untuk setiap tombol, agar setiap tombol diperiksa sendiri. if tersebut diletakkan di bagian perubahan, setelah perulangan event.

challenge icon

Tantangan

Mudah

Gerakkan bulan dengan tombol panah:

  1. Di bagian perubahan, baca tombol dengan keys = pygame.key.get_pressed().
  2. Saat tombol Left ditekan, kurangi moon_x sebanyak 4.
  3. Saat tombol Right ditekan, tambahkan 4 ke moon_x.

Coba sendiri

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Siapkan semuanya di sini, sebelum perulangan game.
moon_x = 320
moon_y = 240

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

    # Ubah semuanya di sini, sekali setiap frame.

    screen.fill((20, 24, 48))
    # Gambar di sini, setelah mengisi layar.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Semua pelajaran di Python di Jendela Game

Latihan sendiri: Playground Pygame