Menu
CoddyTech

עקבו אחר המצביע

חלק מהיחידה לולאת המשחק במסלול ה-Pygame של Coddy. שיעור 13 מתוך 32.

בפרק הזה בונים את Gem Hunt, משחק שמשחקים בו עם העכבר. היהלום התכלת הוא אבן החן: מצולע שארבע הפינות שלו מחושבות לפי gx ו-gy.

pygame.mouse.get_pos() מחזירה את מיקום המצביע בחלון בתור (x, y), שנמדד מהפינה השמאלית העליונה כמו כל דבר אחר. קראו את המיקום בלולאה, וכך הוא יהיה מעודכן בכל פריים:

mouse_x, mouse_y = pygame.mouse.get_pos()
pygame.draw.circle(screen, (240, 240, 240), (mouse_x, mouse_y), 10, 2)

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

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

challenge icon

אתגר

קל
  1. בלולאה, לאחר ציור היהלום, קרא את מיקום המצביע באמצעות pygame.mouse.get_pos().
  2. צייר שם טבעת לבנה (240, 240, 240): עיגול ברדיוס 10 ובעובי 2.

נסו בעצמכם

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Gem Hunt")
clock = pygame.time.Clock()

gx, gy = 225, 165

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    gem_points = [(gx + 15, gy), (gx + 30, gy + 15), (gx + 15, gy + 30), (gx, gy + 15)]
    pygame.draw.polygon(screen, (80, 220, 255), gem_points)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

כל השיעורים ביחידה לולאת המשחק

תרגלו בעצמכם: Pygame אונליין