MascotWorld例子:创建一个场景,添加物体并畅游世界
2008-01-05 08:54:35 来源:WEB开发网这个Mascot Capsule v3 例子建立了一个场景,兼容所有的Sony EriCSSon的移动电话,并且通过K750测试。
这个例子中建立了一个大的立方体,这个大立方体由若干个小一些的立方体构成的,这些小立方体之间的帖图相互交错。在这个大立方体中,由若干个位置固定的,但自由旋转的立方体。在XY平面上放置了一辆汽车,你可以驾驶这辆汽车在这个平面上。
用户可以畅游在这个场景中,并且通过移动电话的按键控制摄影机或者汽车,通过软键你可以切换控制摄影机还是汽车。整个场景的转换是通过下面这些键来改变场景坐标系的。
方向键 左/右:左右移动
方向键 上/下:缩放
数字键 3/9: 上下移动
数字键 4/6: 绕Y轴左右旋转
数字键 2/8: 绕X轴上弦旋转
数字键 1/7: 绕Z轴顺时针逆时针旋转
fire键: 重置整个场景
用户使用下面的这些键控制汽车的移动。当汽车移动的时候摄像机一同移动
方向键 左/右: 左右转向
方向键 上/下: 向前/向后移动
数字键 4/6: 左右移动
fire键: 设置摄像机在汽车的正上方
通过这个例子,您需要分析旋转、移动的对象是整个场景,还是某个物体。移动电话的按键并不是固定的做某个形体的转化。因此要计算出按下按键时哪个是被操作的物体。
获得指定的行为,来改变并做摄影机矩阵的乘法,是由当前程序的状态决定的
译者心得:该例程是Mascot Capsule v3一个综合例子,从一个比较高的视角讲述了一个Mascot Capsule v3程序的全过程。对于刚刚接触Mascot Capsule v3的读者来说理解起来有一个比较困难的地方,就是Mascot Capsule v3中摄影机和物体的关系,在Mascot Capsule v3中物体是被放置在层中的,而每个层都会记录摄影机相对该层的位置,因此在读这样的程序经常会出现这样的情况,摄影机的位置似乎都不同,但实际上又只有一架摄影机。这一点需要读者细细的体会。
Tags:MascotWorld 例子 创建
编辑录入:爽爽 [复制链接] [打 印]- ››创建SQL2005自动备份,定期删除的维护计划
- ››创建动态表单 javascript
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
- ››创建Windows Mobile上兼容性好的UI 程序
- ››创建android的Service
- ››创建远古部落环境与原住民角色
- ››创建并扩展Apache Wicket Web应用
- ››创建不在任务条中显示窗口按钮的应用
- ››创建 Android 文件系统(Root file system)
- ››创建 Android 系统步骤简介
赞助商链接