|
楼主 |
发表于 2012-3-16 23:32:27
|
显示全部楼层
fenma3422 发表于 2012-3-16 12:15
array说的方法没错,只是要注意写法,请参考osgGA::StatesetManilu那个事件处理中的禁用光照部分
您好,感谢您上面精彩的回答!
在此,我冒昧的再次劳烦您一下,想向您请教一个问题,希望您能抽空解惑一下,谢谢您!
就是,我用下面这种方式创建了一个窗口:
int main()
{
osgWidget::WindowManager* wm = new osgWidget::WindowManager(&viewer, WINDOW_WIDTH, WINDOW_HEIGHT, MASK_2D);
osgWidget::Window* menu = new osgWidget::Box("menu", osgWidget::Box::HORIZONTAL);
.......
viewer.setCameraManipulator(new CSouth());
.......
return osgWidget::createExample(viewer, wm, group);
}
我希望能够用我自己定义的w/s/a/d 来控制人物移动。但是,我用这种方式创建窗口后,w/s 貌似是系统默认的交互键,
我希望能够屏蔽系统的定义的w/s键的功能,(即,我希望我按下w/s键后,能够达到我摄像机里面定义的前进/后退操作,而不是显示一些程序的运行状态)
前段时间,我好像看到过这样子的问题,然后有人回答是重载一些类...我确实不知道该重载那些类...以及如何重载...
所以,在此,我希望能够向您寻求帮助:我大概需要如何做才能达到我的目的,谢谢~~~ |
|