Menu
CoddyTech

מקשי החצים

שיעור 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.

challenge icon

אתגר

קל

הזז את הריבוע באמצעות מקשי החצים.

  1. לפני הלולאה, הגדר x, y = 220, 160 ואת speed = 4.
  2. בלולאה, אחרי האירועים, קרא את pygame.key.get_pressed(). כל מקש חץ שמוחזק משנה את x או את y לפי speed.
  3. צייר את הריבוע במיקום (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 אונליין