الالتفاف حول الشاشة
جزء من قسم حلقة اللعبة في رحلة Pygame على Coddy. الدرس 22 من 32.
في كثير من ألعاب الفضاء، تعود السفينة أو الصخرة التي تغادر أحد جانبي الشاشة من الجانب الآخر. يُسمّى هذا الالتفاف. تنجرف الصخرة هنا إلى الأعلى واليمين، وبعد بضع ثوانٍ تختفي إلى الأبد.
اختبر كل حافة بعد الحركة. نصف قطر الصخرة هو 20، لذا اتركها تختفي تمامًا عن الأنظار قبل أن تقفز: بعد 480 + 20 عند الحافة اليمنى، تعود عند -20، خارج الأنظار بعد الحافة اليسرى، ثم تنزلق إلى الداخل.
if pos.x > 500:
pos.x = -20
if pos.x < -20:
pos.x = 500وينطبق الأمر نفسه على y مع الارتفاع: بعد 380 عند الحافة السفلية تعود عند -20، وفوق -20 تعود عند 380.
الموضع وحده هو الذي يقفز. أما السرعة فتبقى كما هي، لذا تواصل الصخرة الانجراف في الاتجاه نفسه بعد التفافها.
التحدي
سهلبعد pos += vel * dt، اجعل الصخرة تلتف:
- إذا تجاوزت 500، تصبح
pos.xمساويةً لـ -20؛ وإذا كانت أقل من -20، تصبح 500. - إذا تجاوزت 380، تصبح
pos.yمساويةً لـ -20؛ وإذا كانت أقل من -20، تصبح 380.
جرّب بنفسك
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()
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس حلقة اللعبة
تدرّب بنفسك: Playground لـ Pygame