VRML响应键盘事件——KeySensor/KbdSenSor扩展节点

KeySensor、KbdSensor是在vrml97标准之外扩展的节点,目前已经正式收入到X3D的标准当中,主要用于响应用户键盘按键操作,来对你的程序进行任意的控制。BS/Blaxxun浏览器对应的是KeySensor节点,Contvrml浏览器(插件)对应的是KbdSensor.

 

以KeySensor为例,首先来看一个例子,按下A键,发出声音:

 

 

KeySensor不断的检测用户的键盘输入,一旦有字符键按下,KeySensor便获得这个字符的UTF-8编码值,将之转换为10进制整数,通过事件出口keyPress发送出来,通过路由传递到脚本节点keyscript的事件入口keynum,这个事件入口一旦接收到值,脚本节点就会执行这个事件入口的同名函数function keynum(value)。

 

域 描述,以KeySensor为例,KbdSensor类似:

 

eventsProcessed

如果设置为TRUE,浏览器的默认键盘动作将不被执行,这个标志位事件告知浏览器所有的事件将被keySensor节点处理。

enabled

设置允许使用这个传感器的标志

keyPress

这个事件出口在键盘上的任意字符按键被按下的时候发生,它的值是用户按下的键所代表的UTF-8字符的十进制整型数值

keyRelease

这个事件出口在键盘上的任意字符按键被释放的时候发生,它的值是用户释放的键所代表的UTF-8字符的十进制整型数值

actionKeyPress

当任意非字符键被按下时产生,它的值请对应参考下表

actionKeyRelease

当任意非字符键被释放时产生,它的值请对应参考下表

shiftKey_changed

shift键状态改变时发送,按下为TRUE,释放为FALSE

controlKey_changed

ctrl键状态改变时发送,按下为TRUE,释放为FALSE

altKey_changed

alt键状态改变时发送,按下为TRUE,释放为FALSE

isActive

活动标志,当有事件发生时为TRUE

character

在用户按下任意字符键时发送出这个字符键所代表的字符

 

ActionKey编码,KbdSensor与其不同,可用print()函数测试;

 

Key

Value

Home

1000

End

1001

PageUp

1002

PageDown

1003

Up

1004

Down

1005

Left

1006

Right

1007

F1-F12

1008-1019

 

 

用KbdKensor类似,注意键盘值和KeySensor的不一样,帮助文档在http://www.parallelgraphics.com/developer/products/cortona/extensions/keyboard/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值