מקשי החצים
שיעור 5 מתוך 40 בקורס יוצרים משחקים עם 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 = 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 אונליין