查看: 880|回复: 6

新人求助:键盘响应

[复制链接]

该用户从未签到

发表于 2014-5-9 20:44:11 | 显示全部楼层 |阅读模式
在osg中做交互时,字符键无法响应,但数字键、方向键都可以实现。
if  ( ea.getKey()==osgGA::GUIEventAdapter::KEY_Up )  以及  if  ( ea.getKey()=='1' )都可以实现,但 if  ( ea.getKey()=='w' || ea.getKey()=='W' )就实现不了,为什么?

该用户从未签到

发表于 2014-5-14 18:47:19 | 显示全部楼层
你查看一下源代码GUIEventAdapter,你会发现其中根本没有定义大写字母,只有小写字母。
KEY_0               = '0',
            KEY_1               = '1',
            KEY_2               = '2',
            KEY_3               = '3',
            KEY_4               = '4',
            KEY_5               = '5',
            KEY_6               = '6',
            KEY_7               = '7',
            KEY_8               = '8',
            KEY_9               = '9',
            KEY_A               = 'a',
            KEY_B               = 'b',
            KEY_C               = 'c',
            KEY_D               = 'd',
            KEY_E               = 'e',
            KEY_F               = 'f',
            KEY_G               = 'g',
            KEY_H               = 'h',
            KEY_I               = 'i',
            KEY_J               = 'j',
            KEY_K               = 'k',
            KEY_L               = 'l',
            KEY_M               = 'm',
            KEY_N               = 'n',
            KEY_O               = 'o',
            KEY_P               = 'p',
            KEY_Q               = 'q',
            KEY_R               = 'r',
            KEY_S               = 's',
            KEY_T               = 't',
            KEY_U               = 'u',
            KEY_V               = 'v',
            KEY_W               = 'w',
            KEY_X               = 'x',
            KEY_Y               = 'y',
            KEY_Z               = 'z',


所以你的大写字母是无效的。

该用户从未签到

发表于 2014-5-12 08:24:33 | 显示全部楼层
你把 ea.getKey()打印出来看看啊

该用户从未签到

发表于 2014-5-13 15:20:33 | 显示全部楼层
有可能是输入法问题吧   切换成英文   或者先点一下shift

该用户从未签到

发表于 2014-5-15 01:19:37 | 显示全部楼层
输入法里大小写的问题

该用户从未签到

发表于 2014-5-15 08:20:33 | 显示全部楼层
这几句话没错,可能是获取消息响应时错了

该用户从未签到

发表于 2014-5-15 08:29:35 | 显示全部楼层
本帖最后由 ZRunners 于 2014-5-15 21:51 编辑

用ea.getkey() =  osgGA::GUIEventAdapter::KEY_W应该可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表