הסל
שיעור 9 מתוך 40 בקורס יוצרים משחקים עם Pygame של Coddy.
משחק חדש: בלוקים נופלים מלמעלה ואתה תופס אותם בסל. הסל והבלוקים הם מלבנים, ול־pygame יש מחלקה עבורם: pygame.Rect.
basket = pygame.Rect(200, 330, 80, 16)Rect שומר את המיקום והגודל שלו יחד, באותו סדר כמו קודם: x, y, width, height. אפשר לקרוא ולשנות את basket.x ואת basket.y, והוא מכיר את הקצוות שלו: basket.left, basket.right, basket.top, basket.bottom ואת האמצע שלו, basket.centerx.
העבר את Rect ישירות אל pygame.draw.rect(screen, color, basket). והוא יכול לשמור את עצמו בתוך Rect אחר: basket.clamp_ip(screen.get_rect()) מזיז אותו בחזרה לתוך החלון כשהוא עובר את אחד הקצוות. screen.get_rect() הוא ה־Rect של החלון עצמו.
אתגר
קל- לפני הלולאה, צרו את
basket = pygame.Rect(200, 330, 80, 16). - בתוך הלולאה, לפני המילוי, הזיזו אותו 8 פיקסלים בכל פריים בזמן שלוחצים על שמאלה או ימינה, ואז השאירו אותו בתוך החלון באמצעות
basket.clamp_ip(screen.get_rect()). - אחרי המילוי, ציירו אותו בכחול
(80, 160, 255).
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.display.flip()
clock.tick(60)
pygame.quit()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יוצרים משחקים עם Pygame
תרגלו בעצמכם: Pygame אונליין