光标离开窗口后光标位置停止工作

时间:2013-04-27 16:18:30

标签: python python-3.x panda3d

我是panda3d的新手,我遇到了一个我不知道如何修复的问题。我试图使用光标的位置控制相机,但每次光标离开应用程序窗口,并重新进入,程序停止记录光标的位置。这是一个任务问题吗?我把接收光标位置的函数放到taskmgr中并控制相机。我的代码的这一部分在下面。

    taskMgr.add(self.get_mousepos, 'getmouse')
    taskMgr.add(self.move_camera, 'movecam')


    def get_mousepos(self,task):
        if base.mouseWatcherNode.hasMouse():
            self.camerax=base.mouseWatcherNode.getMouseX()
            self.cameray=base.mouseWatcherNode.getMouseY()
            return Task.cont

    def move_camera(self,task):
        if self.camerax>=.6:
            self.camh-=.8
            camera.setHpr(self.camh,self.camh1 ,0)
        elif self.camerax<=-.6:
            self.camh+=.8
            camera.setHpr(self.camh,self.camh1 ,0)
        elif self.cameray>=.6:
            self.camh1+=.8
            camera.setHpr(self.camh,self.camh1 ,0)
        elif self.cameray<=-.6:
            self.camh1-=.8
            camera.setHpr(self.camh,self.camh1 ,0)
        return Task.cont

提前致谢。

1 个答案:

答案 0 :(得分:0)

您应该删除return Task.cont前面的一个缩进。否则,只要鼠标光标在窗口中,任务就会继续;一旦离开窗口,hasMouse()将返回False,任务将停止运行。