Flash与3D编程探秘(三)- 摄像机(Camera)
2008-11-12 11:47:19 来源:WEB开发网5. 计算出小球离摄像机的x距离,y距离和z距离,然后得出小球的缩放比率。最后把小球缩放并移动到相应的位置。That's it! 不要忘记添加循环函数执行事件。
this.addEventListener(Event.ENTER_FRAME,run);
注意:
你需要考虑让摄像机的z的指不能小于-1乘焦距,如果z小于这个值,那么公式scale = focal_length/(focal_length+z)得出的缩放比率会是负数,那么物体就会开始向后运动。
一个简单的赛车小游戏制作
下面我们运用摄像机的概念来制作一个简单的赛车小游戏,游戏里你可以使用上下左右键控制赛车,COOL!那么我们开始。
简单赛车游戏,键盘WASD控制
1. 定义原点,设置焦距,创建舞台。
//originisthecenteroftheviewpointin3dspace
//everythingscalearoundthispoint
//theselinesofcodewillshift3dspaceorigintothecenter
varorigin=newObject();
origin.x=stage.stageWidth/2;
origin.y=stage.stageHeight/2;
//nowcreateasceneobjecttoholdallthespheres
varscene=newSprite();
this.addChild(scene);
scene.x=origin.x;
scene.y=origin.y;
//focallengthofviewer'scamera
varfocal_length=400;
2. 下面我们定义一个摄像机物体,它具有3D空间的x,y,z,并且我们给它初始的在z方向的移动速度。
//setupcamera
varcamera=newObject();
camera.x=0;
camera.y=-40; //makethecameraoffthegroundalittlebit
camera.z=0;
camera.speed_z=0; //yourdrivingspeed
3. 创建两个个场景,一个用来盛放所有的赛车,另外一个盛放放有的路边轮胎。然后把它们添加到舞台上。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接