Flash与3D编程探秘(五)- 摄像机旋转和移动
2008-11-12 11:51:23 来源:WEB开发网本文示例源代码或素材下载
上一篇我们讨论了关于旋转摄像机的一些知识,在这篇文章中我们将讲解如何定点旋转摄像机,以及把移动和旋转摄像机结合在一起。当我们只运用旋转摄像机时, 在屏幕上我们看到物体围绕着摄像机旋转,动画并不是那么的"3D",不过这个是我们的必经之路,等你完全的明白了旋转这个概念后,我们添加上摄像机在3D 空间移动,那样你就不会觉得乏味了。首先我们来看一个定点旋转摄像机的例子当作热身。
这个例子,我们还是使用我们的小P,不过是很多的小P,这样使我们的场景看起来更加的有层次感。运行我们的程序(效果如下),所有的物体都在围绕摄像机旋转,我想你会有摄像机在不停的旋转的错觉(或者没有...)。
定点旋转摄像机
动画制作步骤:
1. 一开始还是一些老步骤,设定原点,建立一个舞台,还有定义我们的摄像机,这些都是前几篇所讨论过的,就不再过多解释了。
//sameasusual
varorigin=newObject();
origin.x=stage.stageWidth/2;
origin.y=stage.stageHeight/2;
origin.z=0;
varscene=newSprite();
scene.x=origin.x;
scene.y=origin.y;
this.addChild(scene);
varcamera=newObject();
camera.x=0;
camera.y=0;
camera.z=0;
camera.panning=0;
varfocal_length=300;
2. 下面定义一些常量,比如物体的总数量,PI和物体z间距。
//constants
varMAX_OBJ=100;
varPI=3.1415926535897932384626433832795;
varDISTANCE_Z=20; //thedistancetoyourcamera
3. 下面是初始化所有的物体,我们运用随机数产生小P所在的角度(对于摄像机),递增小P所在点到摄像机的距离(3D空间的),使用三角函数我们就可以得到小P的x和z,我们同样使用随机数产生它的y,最后把它添加到舞台上。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接