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

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;//ifthetireisleftbeh

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. 下面是键盘响应事件函数,我写了一些的注释在程序里,不过我相信你应该很快就能看懂,就不打算详细解说了。实现的功能是当按下左键你的赛车左移;按下上键,赛车开始加速(当然极速是需要你来定义的了)等等。

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

Tags:Flash 编程 探秘

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