WEB开发网
开发学院图形图像Flash Flash与3D编程探秘(一)- Flash与3D空间 阅读

Flash与3D编程探秘(一)- Flash与3D空间

 2008-11-12 11:51:18 来源:WEB开发网   
核心提示: Hooray!你的第一个Flash3D程序完成了,总结一下,Flash与3D编程探秘(一)- Flash与3D空间(5),其实我们并没有使用任何高深的技巧,只不过是利用了变化物体的x和y以及小球的缩放来制造3D效果,重复6个步骤,不同的是我们初始化7个小球,对你来说太简单?好,那我们继续

Hooray!你的第一个Flash3D程序完成了。总结一下,其实我们并没有使用任何高深的技巧,只不过是利用了变化物体的x和y以及小球的缩放来制造3D效果。对你来说太简单?好,那我们继续。

层叠

在Flash中表现3D空间,仅有缩放是不够的,我们还需要层叠。基本概念是,离人眼较近的物体会在离人眼较远的物体之上显示。

在上一节的例子里面,我们缩放小球,以达到3D效果。可是你会发现,3个小球之间的x距离都很大。你也许会想如果3个小球离得很近的话,会出现什么现象呢?

尝试把上面例子中小球之间的x距离变小,看看有什么变化?

这时你会发现,不管小球离我们多远,右边的小球始终在最上面。即使中间的小球应该盖过右边小球的时候,右边的小球还会在上面。这是因为在把小球添加到舞台上的时候,我们已经给了小球层次,也就是说最后添加的小球(右边的小球)就在最上面。

小球3D空间(无层次)位置不对了!

我们应该设计一种方法实现小球的层次感,当小球离我们远的时候,那么它的层次就比较靠后,以此类推。换句话说,我们利用小球的z值给小球们分开层次,这也是我们即将要做的。在这个例子中,我们用7个小球的运动来说明是如何实现层次的。

小球3D空间(有层次)好多了!

动画制作步骤

1. 和上次的例子一样,重复6个步骤。不同的是我们初始化7个小球,并且把它们的x距离缩短。

for(vari=0;i<7;i++)
{
  varsphere=newSphere();
  sphere.x_3d=-150+i*40;
  sphere.y_3d=80;
  sphere.z_3d=Math.random()*(0-600)+600;
  sphere.direction=1;
  sphere.speed=Math.random()*(5-12)+12;  
  scene.addChild(sphere);
}

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

Tags:Flash 编程 探秘

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