קוראים כמוך עוזרים לתמוך ב-MUO. כאשר אתה מבצע רכישה באמצעות קישורים באתר שלנו, אנו עשויים להרוויח עמלת שותף. קרא עוד.

PyGame היא ספריית פיתוח משחקים חזקה ופופולרית עבור Python. הוא מספק סט של כלים ופונקציות שמקלים על יצירת משחקים ויישומים אינטראקטיביים אחרים. תכונה שימושית אחת של PyGame היא היכולת שלו לצייר אובייקטים וצורות.

מודול pygame.draw

ב- PyGame, ציור אובייקטים וצורות הוא תהליך פשוט. אתה יכול להשתמש ב pygame.draw מודול לציור צורות כגון מלבנים, עיגולים, קווים ועוד.

לפני שמתחילים, ודא שיש לך pip מותקן במכשיר שלך, ולאחר מכן השתמש בפקודה זו כדי להתקין את PyGame מודול:

pip להתקין pygame

ציור צורות בסיסיות

ה pygame.draw מודול מספק מספר פונקציות המאפשרות לך לצייר צורות בסיסיות. כל פונקציה דורשת קבוצה של פרמטרים כדי להגדיר את הצורה ואת מיקומה.

  • rect(): ניתן לצייר מלבן באמצעות פונקציה זו. זוהי אחת הצורות הנפוצות ביותר במשחקים. אתה יכול ליצור פלטפורמות, קירות וחפצים אחרים עם מלבנים. הפונקציה לוקחת ארבעה פרמטרים: משטח (המשטח שעליו לצייר את המלבן), צבע, rect (אובייקט Rect) ורוחב (עובי הקו).
    pygame.draw.rect (משטח, צבע, rect, רוחב)
  • instagram viewer
  • מעגל(): צייר עיגול. זה דורש ארבעה פרמטרים: משטח, צבע, פוזה (מרכז המעגל) ורדיוס.
    pygame.draw.circle (משטח, צבע, מיקום, רדיוס)
  • מְצוּלָע(): צייר מצולע. זה דורש ארבעה פרמטרים: משטח, צבע, נקודות (רשימה של נקודות שמגדירות את צורת המצולע) ורוחב.
    pygame.draw.polygon (משטח, צבע, נקודות, רוחב) 
  • קַו(): צייר קו. זה דורש ארבעה פרמטרים: משטח, צבע, start_pos ו-end_pos.
    pygame.draw.line (משטח, צבע, start_pos, end_pos) 

אתה יכול למצוא את הרשימה המלאה של הפונקציות והפרמטרים שלהן ברשמי תיעוד PyGame עבור מודול הציור.

ציור צורות מורכבות

בנוסף לצורות בסיסיות, PyGame גם מאפשר לך לצייר צורות מורכבות כמו קשתות, אליפסות ואליינים.

  • קֶשֶׁת(): פונקציה זו מציירת קשת על משטח. קשת היא חלק ממעגל. זה דורש שישה פרמטרים: משטח, צבע, rect, start_angle, end_angle ורוחב. ציין את הזוויות במעלות, כאשר 0 מעלות מצביעות ימינה ועולות בכיוון השעון. פרמטר הרוחב מציין את עובי הקשת.
    pygame.draw.arc (משטח, צבע, rect, start_angle, end_angle, width)
  • אֶלִיפְּסָה(): צייר אליפסה על משטח. אליפסה היא עיגול מתוח. זה דורש ארבעה פרמטרים: משטח, צבע, ישר ורוחב.
    pygame.draw.ellipse (משטח, צבע, ישר, רוחב)
  • aaline(): השתמש כדי לצייר קו אחד נגד כינוי על משטח. אנטי-aliasing היא טכניקה המשמשת להחלקת קצוות של צורה, כך שהיא נראית טבעית יותר. נדרשים ארבעה פרמטרים המשקפים את קַו() פונקציה: משטח, צבע, start_pos ו-end_pos.
    pygame.draw.aaline (משטח, צבע, start_pos, end_pos) 

יצירת צורות מקוננות ב- PyGame

תכונה מעניינת נוספת של PyGame היא היכולת לצייר צורות בתוך צורה אחרת. אתה יכול לעשות זאת באמצעות שילוב של פונקציות ציור הצורה הבסיסיות ב- PyGame.

כדי לצייר צורה בתוך צורה אחרת, אתה יכול תחילה לצייר את הצורה הפנימית, ולאחר מכן לצייר את הצורה החיצונית מעליה. הצורה הפנימית יכולה להיות כל צורה בסיסית, כגון מלבן או עיגול.

לדוגמה, כדי לצייר מלבן בתוך עיגול, אתה יכול להשתמש ב- pygame.draw.circle() פונקציה כדי לצייר את העיגול, ולאחר מכן השתמש ב- pygame.draw.rect() פונקציה לצייר את המלבן מעליו.

אתה יכול למצוא את דוגמאות הקוד הבאות ב ריפו זה של GitHub.

להלן קטע קוד לדוגמה המדגים כיצד לצייר מלבן בתוך עיגול:

יְבוּא pygame

# אתחול pygame
pygame.init()

# צור חלון
window = pygame.display.set_mode((800, 600))

# צור מעגל
circle_rect = pygame.draw.circle (window, (255, 255, 255), (400, 300), 100)

# צור משטח למלבן
rectangle_surface = pygame. משטח((50, 50))
rectangle_surface.set_colorkey((0, 0, 0))

# צייר את המלבן על פני השטח
pygame.draw.rect (משטח_משטח, (255, 0, 0), (0, 0, 50, 50))

# הדביקו את המשטח על המעגל
window.blit (משטח_משטח, (375, 275))

# לולאה ראשית
בזמןנָכוֹן:
# יציאה מהמשחק
ל מִקרֶה ב pygame.event.get():
אם event.type == pygame. לְהַפְסִיק:
pygame.quit()
יְצִיאָה()

# עדכן את התצוגה
pygame.display.update()

זה יוצר את האפקט של מלבן בתוך מעגל. אתה יכול להשתמש בטכניקה זו כדי ליצור צורות מורכבות יותר ורכיבי משחק על ידי שילוב של צורות מרובות.

ציור תמונות

PyGame מאפשר לך גם לצייר תמונות. אתה יכול להשתמש ב pygame.image.load() פונקציה לטעינת תמונה מקובץ ו- pygame.image.blit() לתפקד ל לצייר את התמונה על המסך.

התחביר עבור pygame.image.load() נראה ככה:

pygame.image.load (שם קובץ) 

והנה התחביר עבור pygame.image.blit():

pygame.image.blit (תמונה, תיקון) 

בנוסף לטעינה וציור של תמונות, PyGame מספקת גם מספר פונקציות אחרות הקשורות לתמונה. פונקציות אלה מאפשרות לך לתפעל תמונות בדרכים שונות, כגון שינוי קנה מידה, סיבוב, היפוך וחיתוך.

הוספת תכונות מתקדמות

PyGame מספק גם כמה תכונות מתקדמות לציור אובייקטים וצורות. לדוגמה, אתה יכול להשתמש ב- pygame.mouse.get_pos() פונקציה כדי לקבל את מיקום העכבר ואת pygame.mouse.get_pressed() פונקציה כדי לקבל את מצב לחצן העכבר. בעזרת פונקציות אלו, תוכל ליצור תכונת לחיצה לציור המאפשרת לך לצייר צורות על ידי לחיצה על העכבר.

יְבוּא pygame 

# אתחול pygame
pygame.init()

# צור חלון
window = pygame.display.set_mode((800, 600))

# לולאה ראשית
בזמןנָכוֹן:
# קבל את מיקום העכבר
mouse_position = pygame.mouse.get_pos()

# קבל את מצב לחצן העכבר
mouse_pressed = pygame.mouse.get_pressed()

# יציאה מהמשחק
ל מִקרֶה ב pygame.event.get():
אם event.type == pygame. לְהַפְסִיק:
pygame.quit()
יְצִיאָה()

# ציור עיגול בעת לחיצה על העכבר
אם לחיצת עכבר[0] == 1:
pygame.draw.circle (window, (255, 0, 0), mouse_position, 20)

# עדכן את התצוגה
pygame.display.update()

להלן הפלט:

צור בקלות Game Sprites ב- PyGame

PyGame מספקת גם קבוצה עוצמתית של כלים ליצירת ספרייטים ואובייקטים של משחק בקלות. עם ה pygame.draw מודול, אתה יכול בקלות ליצור ספרייטים שתוכל להשתמש בהם במשחקים שלך. אתה יכול ליצור דמויות, חפצים ורכיבי משחק אחרים בקלות.