Menu
CoddyTech

Ok Tuşları

Coddy'nin Pygame ile Oyun Yap kursunda ders 5 / 41.

Kareyi hareket ettirmek için konumunu değişkenlerde tut ve her karede oraya çiz. Değişkenleri değiştir; sonraki karede kare başka bir yerde görünür.

pygame.key.get_pressed() şu anda hangi tuşların basılı olduğunu söyler. Sonucu pygame.K_RIGHT gibi bir tuş sabitiyle indeksle: tuş basılıyken sonuç True olur.

x = 100

while running:
    # olaylar
    keys = pygame.key.get_pressed()
    if keys[pygame.K_RIGHT]:
        x += 4
    # doldur, ardından x konumunda çiz

Sağ ok tuşunu basılı tut; kare her karede 4 piksel, saniyede 60 kare hızında saniyede 240 piksel hareket eder. Ok tuşları K_LEFT, K_RIGHT, K_UP ve K_DOWN şeklindedir. Yukarı, daha küçük bir y değeri anlamına gelir.

Değişkenleri döngüden önce oluştur. Döngünün içinde ayarlanan bir değişken her karede yeniden başlar. x, y = 100, 50 tek satırda iki ad belirler: x 100, y ise 50 değerini alır.

challenge icon

Görev

Kolay

Kareyi ok tuşlarıyla hareket ettir.

  1. Döngüden önce x, y = 220, 160 ve speed = 4 oluştur.
  2. Döngüde, olaylardan sonra pygame.key.get_pressed() değerini oku. Basılı tutulan her ok tuşu, x veya y değerini speed kadar değiştirir.
  3. Kareyi (x, y, 40, 40) konumunda çiz.

“Oyna” düğmesine bas ve ok tuşlarını basılı tut: kare hareket eder. Ardından “Kontrol et” düğmesine bas.

Kendin dene

import pygame

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

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

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Pygame ile Oyun Yap bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground