当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

X3D实战底子讲座之十一[Java编程]

赞助商链接



  本文“X3D实战底子讲座之十一[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

我们知道,关于Visual C++而言,交互的实现是通过消息映射来举行的.一样,X3D的交互实现也是通过近似的映射机制.用户事件的产生是通过呼应的传感器产生的,而ROUTE语句就是相当于事件的映射,它映射到另一个输入事件中.

X3D中,用户事件的传感器有:KeySensor(键盘传感器) 、StringSensor(字符串传感器)、TouchSensor(触摸传感器)、PlaneSensor(平移传感器) 、SphereSensor(绕点旋转感器)和CylinderSensor(Y轴旋转传感器)等.由于BS浏览插件对X3D新增的KeySensor和StringSensor节点的支持不够好,故这里暂不谈论.

1、TouchSensor(触摸传感器)节点

TouchSensor(触摸传感器)节点产生基于定点输入设备(普通是鼠标)的事件.这些事件表明用户能否正在点选某个多少体和用户在什么地方,以及在什么时刻按了定点设备的键.它的主要域或事件有:

description -- 这个节点功效的文字提醒.

enabled -- 设置传感器节点能否有效.默许值为True.

isActive -- 当点击或移动鼠标(指导设备时)发送事件.按下鼠标主键时isActive=True, 放开时

isActive=False.

isOver -- 当指导设备移动过传感器表面时发送事件.

hitPoint_changed -- 事件输出在子节点部分坐标系统点击点的定位.

hitNormal_changed -- 事件输出了点击点的表面的法线向量.

hitTexCoord_changed -- 事件输出了点击点的表面的纹理坐标.

touchTime -- 当传感器被指导设备点击时产生时间事件.

需求阐明的是:

(1) 若定点设备未指向传感器的兄弟多少体,而用户开始将定点设备移到传感器的兄弟多少体时,传感器将产生一个isOver事件,并将其值设置为True;相反,若定点设备已经指向传感器的兄弟多少体,此时用户将定点设备移出传感器的兄弟多少体,传感器将产生一个isOver事件,并将其值设置为False.

(2) 当用户将定点设备从多少体的一点移动到另一点时,传感器将发送一系列事件: hitPoint_changed、hitNormal_changed、hitTexCoord_changed,辨别表明用户所指的位置、该点的法向量和纹理坐标.

(3) 当用户点击被TouchSensor监督的对象时,传感器将产生值为True的isActive事件;而当用户释放定点设备的键时,传感器将产生isActive为False的事件.

(4) 若用户在指向多少体时按下鼠标键,然后在仍旧指向这个多少体(或又回到这个多少体)时释放鼠标键,传感器将要发送一个touchTime事件,表明键被释放的时间.可以利用这一事件来模拟很多常用的用户接口(如只有在用户点击和释放定点设备按键时才产生的行动).

下面举两个例子来阐明:


  以上是“X3D实战底子讲座之十一[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>X3D实战底子讲座之十</b>
  • X3D实战底子讲座之十一
  • <b>X3D实战底子讲座之十二</b>
  • X3D实战底子讲座之一
  • X3D实战底子讲座之二
  • X3D实战底子讲座之三
  • X3D实战底子讲座之四
  • <b>X3D实战底子讲座之五</b>
  • <b>X3D实战底子讲座之六</b>
  • X3D实战底子讲座之七
  • X3D实战底子讲座之八
  • X3D实战底子讲座之九
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .