Ekranda Kal
Coddy'nin Pygame Journey'sinin Oyun Döngüsü bölümünün bir parçası. Ders 7 / 32.
Sağ tuşu yeterince uzun süre basılı tutarsan kare pencereden çıkar. Onu pencerenin içinde tutmak için, taşıdıktan sonra x ve y değerlerini sınırla.
min(a, b) daha küçük sayıyı, max(a, b) ise daha büyük sayıyı 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ı engeller; 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ı şey, 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 doldurmadan önce kareyi 480'e 360'lık pencerenin içinde tut: x değerini 0 ile 440 arasında, y değerini 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()
Oyun Döngüsü bölümündeki tüm dersler
1Bir Kareyi Hareket Ettir
Bir Pencere AçArka Planı DoldurKendi başına pratik yap: Pygame playground