Ekranda Kal
Coddy'nin Pygame ile Oyun Yap kursunda ders 7 / 40.
Sağ Tuşu yeterince uzun süre basılı tutarsan kare pencereden çıkar. İçeride tutmak için, onları hareket ettirdikten sonra x ve y değerlerini sınırla.
min(a, b) küçük olan sayıyı, max(a, b) ise büyük olanı verir. Birlikte, bir sayıyı iki sınır arasında tutarlar:
x = max(0, min(x, 480 - 40))min(x, 440), x değerinin 440'ı aşmasını, max(0, ...) ise 0'ın altına düşmesini engeller. Neden 480 değil de 440? x karenin sol kenarıdır, bu yüzden sağ kenarı x + 40 konumundadır. 440'ta sağ kenar pencerenin kenarına değer.
Aynısı pencerenin yüksekliği için y değeri için de geçerlidir.
Görev
KolayDört ok tuşu kontrolünden sonra ve dolgudan önce kareyi 480'e 360'lık pencerenin içinde tut: x değerini 0 ile 440, y değerini ise 0 ile 320 arasında sınırla.
Kendin dene
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()
x, y = 220, 160
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Pygame ile Oyun Yap bölümündeki tüm dersler
Kendi başına pratik yap: Pygame playground