Menu
CoddyTech

רוצו מהר

שיעור 6 מתוך 41 בקורס צרו משחקים עם Pygame של Coddy.

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

keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
    speed = 8

כל פריים מתחיל במהירות הרגילה, 4. רק פריים שבו מקש הרווח לחוץ מעלה אותה ל־8. שחררו את מקש הרווח, ובפריים הבא המהירות חוזרת ל־4.

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

challenge icon

אתגר

קל

אפשר לשחקן לרוץ מהר כשמקש הרווח מוחזק.

  1. הסר את speed = 4 מהמקום שמעל הלולאה.
  2. בתוך הלולאה, מיד אחרי 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 אונליין