Flash与3D编程探秘(三)- 摄像机(Camera)
2008-11-12 11:47:19 来源:WEB开发网functionupdateTire(tire)
{
varx=tire.x_3d-camera.x;
vary=tire.y_3d-camera.y;
varz=tire.z_3d-camera.z;
if(z<0)
{
tire.z_3d+=10000; //ifthetireisleftbehind,thenoffsetit
z=tire.z_3d-camera.z;
}
varscale=focal_length/(focal_length+z);
tire.x=x*scale;
tire.y=y*scale;
tire.scaleX=tire.scaleY=scale;
}
9. 下一步,run函数执行首先把我们的摄像头沿z方向移动,然后调用我们前面写的updateCar和updateTire函数,刷新所有赛车和轮胎的位置和大小。
//hereisthefunctionloop
functionrun(e:Event)
{
camera.z+=camera.speed_z; //firstmoveyourcamera
for(vari=0;i<cars.numChildren;i++) //updateallthecars
{
updateCar(cars.getChildAt(i));
}
for(varj=0;j<tires.numChildren;j++) //andthetiresontheside
{
updateTire(tires.getChildAt(j));
}
txt_speed.text=int(camera.speed_z)+"MPH"; //showyourspeed
txt_speed.setTextFormat(newTextFormat("Verdana",16,0x444444,true));
}
10. 下面是键盘响应事件函数,我写了一些的注释在程序里,不过我相信你应该很快就能看懂,就不打算详细解说了。实现的功能是当按下左键你的赛车左移;按下上键,赛车开始加速(当然极速是需要你来定义的了)等等。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接