一、 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事件,表明键被释放的时间。可以使用这一事件来模拟许多常用的用户接口(如只有在用户点击和释放定点设备按键时才产生的动作)。
下面举两个例子来说明: 示例1:当鼠标处在立方体的时候,就会有一个小球跟随鼠标移动。 示例代码如下: 示例的结果如下图所示: 说明:需要将触摸传感器节点和要触摸的形体节点放在同一个父节点处。
示例2:当单击中间小球时,将打开点光源,照亮周围的两个球。 示例代码如下: 示例的结果如下图所示:
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18