רוצו מהר
שיעור 6 מתוך 41 בקורס צרו משחקים עם Pygame של Coddy.
משתנה יכול להשתנות בכל פריים, בהתאם למה שהשחקן עושה. כאן המהירות תלויה בשאלה אם מקש הרווח מוחזק.
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8כל פריים מתחיל במהירות הרגילה, 4. רק פריים שבו מקש הרווח לחוץ מעלה אותה ל־8. שחררו את מקש הרווח, ובפריים הבא המהירות חוזרת ל־4.
קבעו תחילה את הערך הרגיל ואת הערך המיוחד אחריו. בסדר ההפוך, השורה השנייה תמיד גוברת, ומקש הרווח לא עושה כלום.
אתגר
קלאפשר לשחקן לרוץ מהר כשמקש הרווח מוחזק.
- הסר את
speed = 4מהמקום שמעל הלולאה. - בתוך הלולאה, מיד אחרי
keys = pygame.key.get_pressed(), הגדרspeed = 4, ואז הגדר אותו ל־8אם מקש הרווח מוחזק.
לחץ על "שחק" והחזק את מקש הרווח יחד עם אחד ממקשי החצים: הריבוע זז במהירות כפולה. ואז לחץ על "בדיקה".
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()
x, y = 220, 160
speed = 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
כל השיעורים ביחידה צרו משחקים עם Pygame
תרגלו בעצמכם: Pygame אונליין