Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印输出时curosr的位置始终固定在(0,0)-Pygame(Python 2.7)_Python_Pygame - Fatal编程技术网

打印输出时curosr的位置始终固定在(0,0)-Pygame(Python 2.7)

打印输出时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

我正在网上学习一个教程,试图找到光标的位置, 但是,当我打印光标时,光标的位置始终固定在(0,0)。发生了什么事?我怎样才能修好它

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()无法更新。如果您的代码有更多问题,请打开一个新问题^^