Flash与3D编程探秘(七)- 3D物体框架
2008-11-12 11:51:06 来源:WEB开发网3. 还有一个地方需要改动,因为我们不再对顶点的物体进行缩放,所以就必须要传递scale_point这个属性。
//thisfunctionconstructa3dvertex
functionvertex3d(x,y,z):Object
{
varpoint3d=newObject();
point3d.x=x;
point3d.y=y;
point3d.z=z;
returnpoint3d;
}
建议
试着把上面的两种框架构建方式结合在一起,制作一个旋转的物体被线连着,试一试制作下面的这个一条螺旋体的模型。如果你想增加难度的话,你还可以做一个DNA链。
一个螺旋体
那么到目前为止,你已经知道如何使用框架构建一个方体,不过现实中物体总是有纹理和填充色的。你也许会想,那么我们使用Flash的 beginFill()函数就可以给物体加上填充色了。Hum,很接近不过如果我们要给物体上色的话,还有很多工作要做,后面的文章中我们将重点开始介绍着色筛选和相关内容。
关于Time Based和Frame Based运动
文章第一个例子中的制作步骤里,我们提到关于基于时间的运动公式(只要我们知道了物体运动的速度,那么根据牛顿第一运动定律就可以得出物体在某个时间点的位移):
位移=时间X速度
回想一下,我们前面的几篇文章里使用的都是基于祯的运动,然而基于祯的运动是不稳定的,它的公式是:
位移=执行次数X速度
基于祯的运动不管我们程序执行流逝了多少时间,只在function执行的时候给物体的x或者y加减一定的值。这种运动是不稳定的,所以我建议大家使用基于时间的运动,下面的两个动画分别用两种运动模式做成,点击一下动画就会在function执行时执行大量的junk运算,这时你就会看到两种运动的差异。而基于时间的运动中,当速度恒定时,物体会处在正确的位置;基于祯的运动,你就会看到物体运动慢下来很多, 并不能达到物体在某个时间点应该到达的位置。如果你的电脑CPU不是很快的话(不要忘记这个页面里还有另外3个使用大量CPU运算的动画),点击这里到另外一个文章里查看下面的两个动画,如果感觉动画还是不够连贯的话,那么你可以下载这两个动画到本机察看。
对比基于时间和基于祯的运动
相关文章:
Flash与3D编程探秘(七)- 3D物体框架
Flash与3D编程探秘(六)- 全方位旋转摄像机
Flash与3D编程探秘(一)- Flash与3D空间
Flash与3D编程探秘(五)- 摄像机旋转和移动
Flash与3D编程探秘(四)- 摄像机旋转基础知识
Flash与3D编程探秘(三)- 摄像机(Camera)
作者:YangZhou
出处:http://yangzhou1030.cnblogs.com/
感谢:Yunqing
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接