WEB开发网
开发学院图形图像Flash Flash与3D编程探秘(三)- 摄像机(Camera) 阅读

Flash与3D编程探秘(三)- 摄像机(Camera)

 2008-11-12 11:47:19 来源:WEB开发网   
核心提示: 5. 计算出小球离摄像机的x距离,y距离和z距离,Flash与3D编程探秘(三)- 摄像机(Camera)(3),然后得出小球的缩放比率,最后把小球缩放并移动到相应的位置,一个用来盛放所有的赛车,另外一个盛放放有的路边轮胎,That's it! 不要忘记添加循环函数执行事件,thi

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. 创建两个个场景,一个用来盛放所有的赛车,另外一个盛放放有的路边轮胎。然后把它们添加到舞台上。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Flash 编程 探秘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接