私は表面があり、右に5ピクセル移動するサーフェスをクリックするたびに基本的なゲームを作っています。プログラムはcheckCollide(event)関数なしで正常に動作していますが、私がその条件を置くと動きません。なにが問題ですか?今までPygame RectangleとMouse pos Collidepointが機能しない
私のコードは、この
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((300,300))
def checkCollide(event):
k = 0
a,b = event.pos
x = P1[0].get_rect()
if x.collidepoint(a,b):
return True
return False
CP1 = [(150, 150)
,(155, 150)
,(160, 150)
,(165, 150)
,(170, 150)
,(175, 150)
,(180, 150)
,(185, 150)
,(190, 150)]
statp1_1 = 0
WHITE = (255,255,255)
DISPLAYSURF.fill(WHITE)
while True: # the main game loop
P1 = [pygame.image.load('PAzul.png'),CP1[statp1_1],statp1_1]
DISPLAYSURF.blit(P1[0], P1[1])
e = pygame.event.get()
for event in e:
if event.type == MOUSEBUTTONUP:
a = checkCollide(event)
if a:
DISPLAYSURF.fill(WHITE)
statp1_1 +=1
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
ある
次に、 'x.collidepoint(a、b)'は常に比較対象のFalseの値を返すようです。 –
あなた自身の質問に答えることができ、それを解決した印を付けることができます。 –