Menu
CoddyTech

الالتفاف حول الشاشة

جزء من قسم حلقة اللعبة في رحلة 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.

الموضع وحده هو الذي يقفز. أما السرعة فتبقى كما هي، لذا تواصل الصخرة الانجراف في الاتجاه نفسه بعد التفافها.

challenge icon

التحدي

سهل

بعد pos += vel * dt، اجعل الصخرة تلتف:

  1. إذا تجاوزت 500، تصبح pos.x مساويةً لـ -20؛ وإذا كانت أقل من -20، تصبح 500.
  2. إذا تجاوزت 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()
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس حلقة اللعبة

تدرّب بنفسك: Playground لـ Pygame