Flash与3D编程探秘(三)- 摄像机(Camera)
2008-11-12 11:47:19 来源:WEB开发网11. 最后,添加循环函数执行和键盘响应事件。如果没问题的话,现在发布运行。成功了!
//nowinitializeallthenecessaryeventlistenersandwearedone
this.addEventListener(Event.ENTER_FRAME,run);
this.addEventListener(Event.ENTER_FRAME,keyboard_response);
stage.addEventListener(KeyboardEvent.KEY_DOWN,key_down);
stage.addEventListener(KeyboardEvent.KEY_UP,key_up);
stage.stageFocusRect=false;
stage.focus=scene;
注意:
当你在循环一个数组中所有对象时,你可能会遇到想要删除一个对象的情况(可能你需要把这个对象从这个数组删除,然后添加到另外一个数组中),那么在这个删除的过程中你要非常的小心,因为数组在你执行删除操作后的长度会改变,那么你如果循环使用数组长度作为max的话,会造成掠过对现在在原删除对象所在位置的对象的操作。
一种解决办法就是在循环之前定义一个变量然后再执行for循环。
varlength=objects.numChildren;
一个简单Particle System例子
这是最后一个使用摄像机的基本概念的例子,你可以使用键盘上下左右键移动摄像机,按下W键加速前进,按下S键减速。例子的源文件已经放在下载中的压缩文件里,我就不再把代码粘贴上来了。尝试改变星星的数量,星星很多的话,移动你的摄像机,你应该会看到一个很长的星带(题外话:我在我的电脑里运行2000个星星就有些慢了,Dual Core 2.0GHZ,如果你有更强大的CPU的话,那你看到星空要比我的漂亮的多)。
3D星空,简单的Particle System,WASD移动摄像机,K键加速,L键减速
目前为止,我们一直在讨论3D场景的设置。后面我会陆续的介绍如何使用代码实现3D物体的绘制,不过我想在那之前我们还是多看几个3D场景的例子加深你的印象。那么,请不要失去耐心,最终你所关心的内容这里一定会有介绍的。
相关文章:
Flash与3D编程探秘(七)- 3D物体框架
Flash与3D编程探秘(六)- 全方位旋转摄像机
Flash与3D编程探秘(一)- Flash与3D空间
Flash与3D编程探秘(五)- 摄像机旋转和移动
Flash与3D编程探秘(四)- 摄像机旋转基础知识
Flash与3D编程探秘(三)- 摄像机(Camera)
作者:YangZhou
出处:http://yangzhou1030.cnblogs.com/
感谢:Yunqing
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接