Menu
CoddyTech

تحميل صورة

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

ترسم الألعاب الصور، وليس الأشكال فقط. تأتي الصورة من ملف صور، وتحول pygame الملف إلى Surface، وهو من النوع نفسه الذي تنتمي إليه النافذة: شبكة من وحدات البكسل يمكنك الرسم عليها.

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

المسار نسبي إلى main.py: تحتوي اللعبة على مجلد assets بجواره، وتعرض علامة التبويب Assets بجانب اللعبة جميع الملفات الموجودة فيه.

تنسخ convert_alpha() الصورة إلى تنسيق وحدات البكسل الخاص بالنافذة، لذا يكون رسمها سريعًا في كل إطار، كما تحافظ على وحدات البكسل الشفافة. وهي تحتاج إلى النافذة، لذا حمّل الصور بعد set_mode. حمّل كل صورة مرة واحدة قبل الحلقة: قراءة ملف 60 مرة في الثانية تُبطئ اللعبة.

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

screen.blit(ship, (288, 208))

استخدم blit بعد screen.fill(...)، وإلا فسيغطيها الملء.

challenge icon

التحدي

سهل
  1. بعد set_mode، حمّل assets/images/ship.png باستخدام .convert_alpha() إلى متغير اسمه ship.
  2. في الحلقة، بعد fill، اعرض ship باستخدام blit بحيث تكون زاويته العلوية اليسرى عند (288, 208). أبعاد السفينة 64 × 64 بكسل، لذا ستقع في منتصف النافذة ذات الأبعاد 640 × 480.

جرّب بنفسك

import pygame

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

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

    screen.fill((20, 22, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

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

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