Menu
CoddyTech

Ekranın Bir Kenarından Çıkıp Diğerinden Girme

Coddy'nin Pygame Journey'sinin Oyun Döngüsü bölümünün bir parçası. Ders 22 / 32.

Birçok uzay oyununda, ekranın bir tarafından çıkan bir gemi ya da kaya diğer taraftan geri gelir. Buna ekranın diğer tarafından görünme denir. Buradaki kaya yukarı ve sağa doğru sürükleniyor ve birkaç saniye sonra tamamen kayboluyor.

Hareket ettikten sonra her kenarı kontrol et. Kayanın yarıçapı 20, bu yüzden sıçramadan önce tamamen gözden kaybolmasını sağla: sağda 480 + 20'yi geçince, -20 konumunda geri gelir; sol kenarın ötesinde gözden kaybolur ve içeri doğru kayar.

if pos.x > 500:
    pos.x = -20
if pos.x < -20:
    pos.x = 500

Aynısı yükseklik için y ekseninde de geçerlidir: altta 380'i geçince -20 konumunda geri gelir; -20'nin üstündeyse 380 konumunda geri gelir.

Yalnızca konum sıçrar. Hız aynı kalır, böylece kaya diğer taraftan göründükten sonra da aynı yönde sürüklenmeye devam eder.

challenge icon

Görev

Kolay

pos += vel * dt işleminden sonra kayayı ekranın diğer tarafından görünecek şekilde sar:

  1. 500'ün üstünde, pos.x -20 olur; -20'nin altında, 500 olur.
  2. 380'in üstünde, pos.y -20 olur; -20'nin altında, 380 olur.

Kendin dene

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Drifting Rock")
clock = pygame.time.Clock()

pos = pygame.Vector2(240, 180)
vel = pygame.Vector2(120, -70)
dt = 0

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

    pos += vel * dt

    screen.fill((20, 20, 34))
    pygame.draw.circle(screen, (150, 150, 160), pos, 20)
    pygame.display.flip()
    dt = clock.tick(60) / 1000

pygame.quit()
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Oyun Döngüsü bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground