Menu
CoddyTech

وضعها باستخدام مستطيل

جزء من قسم الكائنات والصور في رحلة Pygame على Coddy. الدرس 2 من 36.

يتطلب حساب الزاوية العلوية اليسرى يدويًا إجراء عمليات جمع لكل صورة تضعها. يمكن لكل Surface أن يوفّر Rect بأبعاده الخاصة:

ship_rect = ship.get_rect(center=(320, 400))

استدعاء get_rect() وحده يعيد Rect(0, 0, 64, 64). تحدد كلمة مفتاحية موضعه: center أو midbottom أو topleft أو أي نقطة أخرى في Rect. هنا يوضع منتصف السفينة عند (320, 400)، وتحسب pygame موضع الزاوية، وهو (288, 368).

ارسم الصورة عند Rect، وستظهر عند زاويته العلوية اليسرى:

screen.blit(ship, ship_rect)

أصبح Rect الآن موضع السفينة. غيّر ship_rect.x أو ship_rect.centery، وستُرسم السفينة هناك في الإطار التالي. هكذا تتحرك كل صورة في اللعبة: احتفظ بـ Rect، وغيّر Rect، وارسم عند Rect. وهو أيضًا Rect الذي تختبر به التصادمات، كما في القسم 2.

challenge icon

التحدي

سهل
  1. بعد تحميل ship، أنشئ ship_rect = ship.get_rect(center=(320, 400)).
  2. ارسم ship عند ship_rect بدلًا من نقطة ثابتة.

جرّب بنفسك

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Space Images")
clock = pygame.time.Clock()

ship = pygame.image.load("assets/images/ship.png").convert_alpha()

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

    screen.fill((20, 22, 40))
    screen.blit(ship, (288, 208))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconاختبر نفسك

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

جميع دروس الكائنات والصور

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