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

时间:2016-02-28 15:06:15

标签: 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,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()

3 个答案:

答案 0 :(得分:1)

您的pygame.mouse.get_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
...

有关详细信息,请查看this问题。

答案 1 :(得分:0)

试试

<RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">

    <GridView
        android:id="@+id/categories"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="2"
        android:scrollbars="vertical"/>    
</RelativeLayout>

你使用的是什么版本的pygame?你用的是什么版本的python?看起来你已经启动并运行了2.7,你确定你有匹配的pygame版本吗?

答案 2 :(得分:0)

在这里&#34;减少&#34;该程序的版本,以重现问题。

import pygame
def gameIntro():
  cur = pygame.mouse.get_pos()
  print cur
if __name__ == "__main__":
  pygame.init()
  gameIntro()

我也得到(0,0)

在pygame文档http://www.pygame.org/docs/ref/mouse.html中,它说所有这些鼠标信息都由事件队列更新。输入mouse.get_pos()时会调用gameIntro(),这可能是该职位尚未更新的原因。

也许尝试在主循环中再次调用它。