Menu
CoddyTech

לחצו כדי להוסיף

חלק מהיחידה Python בחלון משחק במסלול ה-Pygame של Coddy. שיעור 25 מתוך 32.

רשימה יכולה לגדול בזמן שהמשחק פועל. stars.append(item) מוסיפה פריט לסוף.

לחיצת עכבר מגיעה ללולאת האירועים כאירוע MOUSEBUTTONDOWN, ו-event.pos הוא המיקום שבו היא התרחשה, זוג (x, y):

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.MOUSEBUTTONDOWN:
        stars.append(event.pos)

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

הרשימה מתחילה ריקה בחלק ההגדרה: stars = []. אם יוצרים אותה בתוך לולאת המשחק, היא תתרוקן בכל פריים וכל כוכב ייעלם מיד.

challenge icon

אתגר

קל

בלולאת האירועים, כשאירוע MOUSEBUTTONDOWN מגיע, הוסף את event.pos אל stars. כך כל לחיצה מציבה כוכב לבן.

נסו בעצמכם

import pygame

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

# הגדירו כאן את הדברים, לפני לולאת המשחק.
stars = []

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

    # שנו כאן דברים, פעם אחת בכל פריים.

    screen.fill((20, 24, 48))
    # ציירו כאן, אחרי מילוי הרקע.
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

כל השיעורים ביחידה Python בחלון משחק

תרגלו בעצמכם: Pygame אונליין