מקשי החצים
שיעור 5 מתוך 41 בקורס צרו משחקים עם Pygame של Coddy.
כדי להזיז את הריבוע, שמור את המיקום שלו במשתנים וצייר אותו שם בכל פריים. שנה את המשתנים, ובפריים הבא הריבוע יופיע במקום אחר.
pygame.key.get_pressed() מציין לך אילו מקשים לחוצים כרגע. השתמש בקבוע של מקש כדי לגשת אליו, למשל pygame.K_RIGHT: התוצאה היא True כל עוד המקש לחוץ.
x = 100
while running:
# אירועים
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# מלא, ואז צייר במיקום xהחזק את מקש החץ ימינה, והריבוע יזוז 4 פיקסלים בכל פריים, כלומר 240 פיקסלים בשנייה בקצב של 60 פריימים בשנייה. מקשי החצים הם K_LEFT, K_RIGHT, K_UP ו-K_DOWN. למעלה פירושו ערך y קטן יותר.
צור את המשתנים לפני הלולאה. משתנה שמוגדר בתוך הלולאה מתחיל מחדש בכל פריים. x, y = 100, 50 מגדיר שני שמות בשורה אחת: x מקבל 100 ו-y מקבל 50.
אתגר
קלהזז את הריבוע באמצעות מקשי החצים.
- לפני הלולאה, הגדר
x, y = 220, 160ואתspeed = 4. - בלולאה, אחרי האירועים, קרא את
pygame.key.get_pressed(). כל מקש חץ שמוחזק משנה אתxאו אתyלפיspeed. - צייר את הריבוע במיקום
(x, y, 40, 40).
לחץ על ״שחק״ והחזק את מקשי החצים: הריבוע זז. לאחר מכן לחץ על ״בדיקה״.
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
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.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
כל השיעורים ביחידה צרו משחקים עם Pygame
תרגלו בעצמכם: Pygame אונליין