Menu
CoddyTech

اتبع المؤشر

جزء من قسم حلقة اللعبة في رحلة Pygame على Coddy. الدرس 13 من 32.

يُنشئ هذا الفصل لعبة «البحث عن الجواهر»، وهي لعبة تلعبها باستخدام الفأرة. الماسة الزرقاء الفاتحة هي الجوهرة: مضلع تُحسب زواياه الأربع انطلاقًا من 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()

جميع دروس حلقة اللعبة

تدرّب بنفسك: Playground لـ Pygame