≡谏弦黄颐墙樯芰藄cript结点与java程序之间的结合情况,在这一篇中我们和大家谈谈如何通过java程序控制几个为场景产生交互的主要结点,以及它们是如何通过script结点来传递和接收程序运行结果的。
如果细心的读者应该看到了,在上一篇文章中的交互的变化球体的颜色例子中,我们用到了一个touchsensor结点,大家都知道这个节点是捕捉鼠标的移动并且响应鼠标事件的,在上一个例子中,我们通过isaction字段来判断touchsensor的状态,单击鼠标球体变色,这是一个不连续的事件,但是大家千万不要以为touchsensor只能产生不连续事件的响应。它能够响应鼠标的所有事件,当鼠标移动时hitnormal_changed、hitpoint_changed、hittexcoord_changed等事件将产生,具体来说,我们可以通过touchsensor的isover来判断时候鼠标在物体上,hitpoint又可以记录鼠标在物体上的具体座标,hittexcoord用来记录座标结构,也就是说是坐标系的类型,hitnormal用来记录表面矢量,就是用来记录方向。使用这几个事件与java程序结合,我们可以创造很多效果,比如说,在场景中用户用鼠标推动一个物体的运动。
然而大多数的运用都是touchtime不连续事件,就是鼠标按下再松开时产生的事件,它激活一个timestamp时间事件,原来我们没有使用java程序时,我们定制一段动画用鼠标来控制播放。就是场景中有一台电视,我们通过用鼠标按下开关,使电视开始播放一段动画,制作很简单,由于篇幅有限我们在这里只和大家讨论一下工作原理。先在场景中预设一段动画,设置从starttime开始,到stoptime结束。starttime事件由鼠标touchtime的touchtime事件触发,所以当鼠标按下开关,电视开始播放动画。但是这种通过timesensor和插入器实现简单动画有着很大的局限性,就是用户与场景的互动已经被固定在原先设定好了的路径上面,自然的这里我们又需要使用java。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器