Panda3D获取鼠标位置的方法

Panda3D获取鼠标位置的方法有不少,这里介绍两种,其一是官方指南中提到的:

if base.mouseWatcherNode.hasMouse():
  x=base.mouseWatcherNode.getMouseX()
  y=base.mouseWatcherNode.getMouseY()

这样获取到的鼠标位置是以屏幕中心点为(0, 0),左上侧顶点为(-1.0, -1.0),右下顶点为(1.0, 1.0)的值。我暂时没找到通过这种方式设置鼠标位置的方法,如有知道还请指教。

另外一种获取鼠标位置的方法如下:

        md = base.win.getPointer( 0 ) 
        x = md.getX( ) 
        y = md.getY( ) 

        if base.win.movePointer( 0, centerx, centery ): 
            deltaHeading = ( x - centerx ) * factor 
            deltaPitch = ( y - centery ) * factor 

这里取得的x和y值是以左上角为(0, 0)点的像素坐标值。可以通过movePointer(0, x, y)这样的做法去改变坐标位置,第一个参数我认为是鼠标索引,因为Panda3D是支持多鼠标操作的。。。

posted @ 2012-09-01 11:08  funnydavid  阅读(418)  评论(0编辑  收藏  举报