打印输出时curosr的位置始终固定在(0,0)-Pygame(Python 2.7)
我正在网上学习一个教程,试图找到光标的位置, 但是,当我打印光标时,光标的位置始终固定在(0,0)。发生了什么事?我怎样才能修好它打印输出时curosr的位置始终固定在(0,0)-Pygame(Python 2.7),python,pygame,Python,Pygame,我正在网上学习一个教程,试图找到光标的位置, 但是,当我打印光标时,光标的位置始终固定在(0,0)。发生了什么事?我怎样才能修好它 def gameIntro(): cur = pygame.mouse.get_pos() print cur pygame.draw.rect(screen,green,(240,200,120,50)) textToButton("Start",black,240
def gameIntro():
cur = pygame.mouse.get_pos()
print cur
pygame.draw.rect(screen,green,(240,200,120,50))
textToButton("Start",black,240,200,120,50)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
clock.tick(20)
if __name__ == "__main__":
gameIntro()
exit()
试试看
print(pygame.mouse.get_pos())
你使用的是什么版本的pygame?您使用的是什么版本的python?似乎您已经启动并运行了2.7,您确定您有与之匹配的pygame版本吗?您的
pygame.mouse.get\u pos()
只被调用一次。将其添加到主游戏循环中,如:
...
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
cur = pygame.mouse.get_pos()
print cur
...
有关更多信息,请查看问题。这里是该程序的“简化”版本,用于重现问题
import pygame
def gameIntro():
cur = pygame.mouse.get_pos()
print cur
if __name__ == "__main__":
pygame.init()
gameIntro()
我还得到(0,0)
在pygame文档中,它表示所有这些鼠标信息都由事件队列更新。输入gameIntro()
时会调用鼠标.get_pos(),这可能就是位置尚未更新的原因
也许可以在主循环中再次调用它。不,他没有。因为Python3和2.7Python2.7之间的差异,所以存在差异。我下载了pygame的正确版本(最新版本)。他没有说明他是否下载了与2.7相关的pygame的正确版本。他只指定了python版本的.ygame.font.SysFont(“comicsansms”,25)在您的代码中也是这种类型吗?应该是pygame.font,如果240+120>cur[0]>240和200+50>cur[1]>200:pygame.draw.rect(屏幕,黄色,(240200120,50))的话,意外地删除了实际运行此代码的pImelse:pygame.draw.rect(屏幕,绿色,(240200120,50)),当我将鼠标悬停在它上面时,它将改变颜色。据我所知,您的问题是为什么mouse.get_pos()无法更新。如果您的代码有更多问题,请打开一个新问题^^