Tuşlar Ay’ı Hareket Ettiriyor
Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 11 / 32.
pygame.key.get_pressed() bu karede hangi tuşların basılı tutulduğunu söyler. Yanıtını her karede bir kez sakla, ardından bir tuşu kontrol et:
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4keys[pygame.K_LEFT], Sol tuşu basılı tutulurken True, aksi durumda False değerini alır; bu nedenle altındaki if, tuşa basılı tutulan her karede çalışır. Sağ tuşuna bir saniye basılı tutarsan ay 240 piksel hareket eder.
Her tuşun bir adı vardır: K_UP, K_DOWN, K_SPACE, A için K_a, D için K_d.
Her tuşu kendi başına sınamak için, her tuşa bir tane gelecek şekilde iki ayrı if kullan. if ifadeleri, olay döngüsünden sonra, değişiklik bölümüne yerleştirilir.
Görev
KolayAyı ok tuşlarıyla hareket ettir:
- Değişiklik bölümünde tuşları
keys = pygame.key.get_pressed()ile oku. - Sol tuş basılıyken
moon_xdeğerinden 4 çıkar. - Sağ tuş basılıyken
moon_xdeğerine 4 ekle.
Kendin dene
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Oyun döngüsünden önce hazırlıkları burada yapın.
moon_x = 320
moon_y = 240
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Her karede bir kez değişiklikleri burada yapın.
screen.fill((20, 24, 48))
# Ekranı doldurduktan sonra çizimi burada yapın.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Oyun Penceresinde Python bölümündeki tüm dersler
Kendi başına pratik yap: Pygame playground