برمجة الألعاب باستخدام pygame رسم مستطيل -الدرس الثاني

0
في الدرس السابق قمنا بانشاء نافذة ذات خلفية بيضاء وبدون اي رسومات أو اضافات عليها، وفي هذا الدرس سنقوم برسم مستطيل على تلك النافذة.
يمكننا رسم العديد منن الأشياء مثل المستطيلات، المضلعات،الدوائر، الأقواس والخطوط كما سنكتشف أيضا عرض النصوص مع الرسومات ومن خلال الرابط التالي يمكنك رؤية جميع الأشياء التي يمكنك رسمها.


لرسم مستطيل يحتاج الكمبيوتر الى احداثية الزاوية العليا اليسرى للمستطيل كما يحتاج طبعا الى طول وعرض المستطيل .


الصورة تظهر لنا المستطيل التي قمت بانشاءه بالاحداثيات التالية [20,20,250,100] حيث تمثل كل من 20 20 احداثية الزاوية العليا اليسرى ومنها يبدأ البرنامج برسم المستطيل ولكي تقوم بتحديد تلك الزاوية فقط تخيل النافذة كمعلم متعامد متجانس وعليك بتحديد احداثية (x,y) كما في الرياضيات.
بعد تحديدك للزاوية يجب ان تحدد للبرنامج طول وعرض المستطيل حيث قمت بتحديد طول المستطيل ب 250 بكسل وعرضه ب 100 بكسل .


ولكتابة تلك الاحداثيات في بايثون نقوم بكتابة الكود التالي :
     
# رسم مستطيل 
pygame.draw.rect(screen,WHITE,[20,20,250,100],2)

pygame.draw.rect هي الصيغة أو الدالة التي تمكننا من رسم مستطيل وهي تحتاج الى قيم لذلك علينا فتح قوسين وكتابة تلك القيم .
القيمة الأولى هي المتغير screen وهو المتغير الذي قمنا بانشاء في الدرس السايق
screen = pygame.display.set_mode(size)

اي نحن نطلب من البرنامج ان يرسم لنا المستطيل على النافذة التي قمنا بانشائها.
القيمة الثانية هي WHITE وهو متغير سنقوم بانشاءه اعلى البرنامج وهو عبارة عن لون المستطيل.
القيمة الثالثة هي عبارة عن قائمة تحتوي على احداثيات لرسم البرنامج وقد قمت بشرحها .
القيمة الرابعة 2 وهي عبارة عن عرض الخط الذي يشكل المستطيل ويقاس بالبكسل وكلما زاد الرقم زاد سماكة الخط.
وفي نهاية هذا الدرس ساقوم بكتابة الكود كاملا انطلاقا من انشاء النافذة الى غاية رسم المستطيل .
import pygame
WHITE = (255,255,255)# تحديد اللون الأبيض
size=(400,400)# حجم النافذة
screen=pygame.display.set_mode(size)

pygame.draw.rect(screen,WHITE,[20,20,250,100],2)#انشاء المستطيل
pygame.display.flip()
pygame.display.set_caption("على بركة الله نبدأ")


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


لا يوجد تعليقات

أضف تعليق