我清楚尝试用白色填充屏幕然后导入图像,但是当我使用display.flip()按钮仍然存在但它仍然检测到碰撞?我该如何解决这个问题?
def stagesel():
screen.fill(WHITE)
StageselPic = image.load("Locationmenu.png") # done once
screen.blit(StageselPic, Rect(0,0,800,600))
display.flip()
def getmouse():
mx, my = mouse.get_pos()
mb = mouse.get_pressed()[0]
return (mx, my, mb)
def Menu():
global GREEN
global WHITE
if mx >= rectx and mx <= rectx + rectw and my >= recty and my <= recty + recth:
x = GREEN
menutext(x)
elif mx >= instx and mx <= instx + instw and my >= insty and my <= insty + insth:
y = GREEN
menuhelp(y)
else:
x = WHITE
y = WHITE
menutext(x)
menuhelp(y)
if mx >= rectx and mx <= rectx + rectw and my >= recty and my <= recty + recth and mb == True:
stagesel()
running = True
while running:
for evnt in event.get():
if evnt.type == QUIT:
running = False
mx,my,mb = getmouse()
Menu()
TITLE()
quit()
答案 0 :(得分:1)
您的来源不完整且虚假。这样你就不能期待任何帮助。你似乎缺乏对pygame表面力学的理解,但是你表达你的误会的方式是不可能的。
我最好的猜测是,您无法将屏幕表面复制到显示屏表面。关于碰撞检测的部分比我高,因为你甚至没有为你的碰撞检测提供最基本的提示。 (希望您的鼠标坐标检查不符合碰撞检测的要求。)
请将您的来源剥离到相关部分,并提供其中问题的指示。