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 = 500Aynı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.
Görev
Kolaypos += vel * dt işleminden sonra kayayı ekranın diğer tarafından görünecek şekilde sar:
- 500'ün üstünde,
pos.x-20 olur; -20'nin altında, 500 olur. - 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()
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
1Bir Kareyi Hareket Ettir
Bir Pencere AçArka Planı Doldur4Zamana Göre Hareket
Delta ZamanıSaniyedeki Piksel SayısıVector2İvme ve SürtünmeEkranın Bir Kenarından Çıkıp Diğerinden GirmeKendi başına pratik yap: Pygame playground