我已在我的 Java3D 程序中将 Java3D 的 KeyNavigatorBehavior 添加到 SimpleUniverse。我知道 KeyNavigatorBehavior 检测何时按下向上、向下、向左和向右箭头,但我也想检测其他键,例如 WASD,但在谷歌搜索“自定义 Java3D 键导航器行为”时运气不佳。
我查看了 KeyNavigatorBehavior 源代码,可在此处找到:
并注意到 KeyNavigator 类,在这里找到:
似乎处理关键事件。不幸的是,该对象是一个没有 getter 或 setter 的私有类成员,所以我认为没有任何方法可以访问它。
我也尝试将 KeyListener 添加到 SimpleUniverse.getCanvas(),但这不起作用,我认为这不是正确的方法。
我想知道是否有人可以就如何添加自己的密钥以在 Java3D 中检测到的建议给我。
(我意识到我可以复制和粘贴源代码并进行我需要的任何更改,但我希望可能有一个更好、更不痛苦的选择。)
谢谢您的帮助!