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 çizSağ 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.
Görev
KolayKareyi ok tuşlarıyla hareket ettir.
- Döngüden önce
x, y = 220, 160vespeed = 4oluştur. - Döngüde, olaylardan sonra
pygame.key.get_pressed()değerini oku. Basılı tutulan her ok tuşu,xveyaydeğerinispeedkadar değiştirir. - 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