0
私はユーザーが矩形をクリックしたかどうかを確認するためにpygameプログラムを作成しようとしています。その場合、その矩形の色を変更します。このpygameプログラムで各四角形のマウスクリックが長方形内にあるかどうかを確認するにはどうすればよいですか?
ここで画面を描画するために私の最初のコードだ:
import pygame
import sys
pygame.init()
size_x = 650
size_y = 550
bkg_colour = 0, 0, 0
white = 255, 255, 255
colour = 0, 130, 90
position_x, position_y = 70, 100
screen = pygame.display.set_mode((size_x, size_y))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill(bkg_colour)
for x in range(-50, 500, position_x + 20):
for y in range(-50, 400, position_y + 20):
pygame.draw.rect(screen, colour, (position_x + x, position_y + y, position_x, position_y), 0)
pygame.display.flip()
私は何をやってみましたがpygame.Rectを使用して、このようなcollisionpointた:
for x in range(-50, 500, position_x + 20):
for y in range(-50, 400, position_y + 20):
rect_size = pygame.Rect(position_x + x, position_y + y, position_x, position_y)
pygame.draw.rect(screen, colour, rect_size, 0)
if event.type == pygame.MOUSEBUTTONDOWN:
click = rect_size.collidepoint(pygame.mouse.get_pos())
if click == 1:
print("Clicked")
pygame.draw.rect(screen, white, rect_size, 0)
pygame.display.flip()
しかしそれがないことだけのために働くれます最後に描画された矩形を画面に表示します。 画面上のすべての矩形に対してどのように機能させるには?