اتبع المؤشر
جزء من قسم حلقة اللعبة في رحلة 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)يفك السطر الأول عناصر الصف إلى متغيرين. ويرسم السطر الثاني حلقة في ذلك الموضع، ليرى اللاعب ما يشير إليه. ارسمها أخيرًا، بعد الجوهرة، وإلا فستغطيها الجوهرة.
اقرأ الموضع مرة واحدة قبل الحلقة، وستبقى الحلقة في المكان الذي كان فيه المؤشر عند بدء اللعبة.
التحدي
سهل- في الحلقة، بعد رسم الجوهرة، اقرأ موضع المؤشر باستخدام
pygame.mouse.get_pos(). - ارسم هناك حلقة بيضاء باللون
(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