Parameter
Termasuk bagian Python di Jendela Game dalam perjalanan Pygame di Coddy. Pelajaran 21 dari 32.
Fungsi yang selalu menggambar di koordinat (320, 240) tidak begitu berguna. Parameter memungkinkan pemanggil memilih koordinatnya. Beri nama parameter di dalam tanda kurung pada def, lalu gunakan di dalam isi fungsi seperti variabel:
def draw_star(x, y):
pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)Setiap pemanggilan memberikan nilai, yaitu argumen, dengan urutan yang sama: draw_star(120, 100) menjalankan isi fungsi dengan x bernilai 120 dan y bernilai 100. draw_star(520, 90) menjalankannya lagi dengan nilai yang berbeda. Satu definisi, sebanyak apa pun bintang yang kamu minta untuk digambar.
Parameter hanya tersedia di dalam fungsi saat fungsi itu berjalan. Di luarnya, x dan y tidak memiliki arti, atau berarti apa pun yang kamu simpan dengan nama tersebut di sana.
Tantangan
SedangBiarkan pemanggil menentukan posisi bintang:
- Ubah definisinya menjadi
def draw_star(x, y):dan gambar di sekitar (x, y): garis darix - 10kex + 10dan dariy - 10key + 10, serta titik di(x, y). - Panggil fungsi itu tiga kali: di (120, 100), (320, 180), dan (520, 90).
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.
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Ubah yang diperlukan di sini, sekali setiap frame.
screen.fill((20, 24, 48))
# Gambar di sini, setelah mengisi layar.
draw_star()
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Python di Jendela Game
Latihan sendiri: Playground Pygame