Klik untuk Menambahkan
Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 25 dari 32.
list dapat bertambah saat game berjalan. stars.append(item) menambahkan satu item di bagian akhir.
Klik mouse masuk ke event loop sebagai event MOUSEBUTTONDOWN, dan event.pos adalah lokasi klik tersebut, berupa tuple (x, y):
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)Setiap klik menambahkan satu posisi. Bagian penggambaran sudah menggambar setiap bintang dalam list, jadi bintang baru akan muncul pada frame berikutnya dan tetap di sana karena list menyimpannya.
list dimulai dalam keadaan kosong di bagian penyiapan: stars = []. Jika dibuat di dalam game loop, list akan dikosongkan pada setiap frame dan setiap bintang akan langsung menghilang.
Tantangan
MudahDi dalam perulangan event, saat event MOUSEBUTTONDOWN tiba, tambahkan event.pos ke stars. Setiap klik kemudian menempatkan sebuah bintang putih.
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.
stars = []
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Ubah bagian ini setiap frame.
screen.fill((20, 24, 48))
# Gambar di sini, setelah mengisi layar.
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 5)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Python di Jendela Game
Latihan sendiri: Playground Pygame