Pygame

Pygame (בעברית: פָּיְגֵיים) הוא סט של מודולים בשפת פייתון, שעוצבו לצורך קידוד משחקי וידאו, והוא פורסם לראשונה באוקטובר 2000. הוא מכיל ספריות של גרפיקה וסאונד שעוצבו כך שיתאימו לשימוש בשפת התכנות פייתון. Pygame הוא חוצה פלטפורמות, כלומר, ניתן להשתמש בו במספר מערכות הפעלה.

 היסטוריה 
Pygame פותח במקור על ידי פיט שינרס (Pete Shinners) על מנת להחליף את ספריית PySDL לאחר שפיתוחה התעכב. Pygame פותח על ידי הקהילה משנת 2000, ופורסם תחת הרישיון החופשי והחינמי LGPL.

 ארכיטקטורה ופיצ'רים 
Pygame משתמש בספרית Simple DirectMedia Layer, (בקיצור SDL), על מנת להשיג תכנות משחקים בזמן אמת מבלי המכניקות ברמות הנמוכות יותר של שפות C ונגזרותיה. אפליקציות ב-Pygame יכולות לרוץ במערכת ההפעלה אנדרואיד באמצעות השימוש ב Pygame Subset For Android ( בקיצור: pgs4a ). שמע, רטט, מקלדת, וכו נתמכים באנדרואיד.

 ספריות עזר ל-Pygame 
Pygame עצמו אינו מכיל תמיכה מובנית בגרפיקה מתקדמת יותר כגון כפתורים, תוויות, scroll bar, color picker וכו'. לשם כך, פותחו ספריות עזר אשר מספקות את הכלים הללו, ועוד. דוגמה למספר ספריות פופולריות לכך:
 pygame-gui - לגרפיקה עם מראה מודרני: מספק תוויות, כפתורים, חלונות קופצים, textbox, colorpicker, עיצוב בפורמט json ואפקטים כגון הקלדה אוטומטית של טקסט.
 ThorPy
 SGC
 OcempGUI
 pygame-widgets - ממשק בסיסי ביותר.

 דוגמאות קוד 

דוגמה לתוכנית Hello World פשוטה ב-Pygame:import pygame, sys
from pygame.locals import *

#Set up pygame
pygame.init()

#Set up the window
windowSurface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption('Hello World')

#Set up the colors
BLACK = (0,0,0)
RED = (255,0,0)
GREEN = (0,255,0)
BLUE = (0,0,255)
WHITE = (255,255,255)

#Set up fonts
basicFont = pygame.font.SysFont(None, 48)

#Set up the text
text = basicFont.render('HELLO WORLD', True, BLACK)
textRect = text.get_rect()
textRect.centerx = windowSurface.get_rect().centerx
textRect.centery = windowSurface.get_rect().centery

#Draw the white background onto the surface
windowSurface.fill(WHITE)

#Get a pixel array of the surface
pixArray = pygame.PixelArray(windowSurface)
pixArray[480][380] = BLACK
del pixArray

#Draw the text onto the surface
windowSurface.blit(text,textRect)

#Draw the window onto the screen
pygame.display.update()

#Run the game loop
while True:
 for event in pygame.event.get():
    if event.type == QUIT:
        pygame.quit()
        sys.exit()

 משחקים שפותחו ב-Pygame 
 Frets On Fore
 Dangerous High School Girls in Trouble

 ראו גם 
 פייתון
 Tkinter

 קישורים חיצוניים 


הערות שוליים

קטגוריה:פייתון
קטגוריה:גרפיקה ממוחשבת
קטגוריה:פיתוח משחקי וידאו