动画编程中关于Time Based和Frame Based运动

日期:2008年11月

在Flash 3D编程探秘的第七篇里,我们提到关于基于时间的运动公式(只要我们知道了物体运动的速度,那么根据牛顿第一运动定律就可以得出物体在某个时间点的位移):

位移 = 时间 X 速度

 

不过在第一到第六几篇文章里的动画使用的都是基于祯的运动,然而基于祯的运动是不稳定的,它的公式是:

位移 = 执行次数 X 速度

 

基于祯的运动不管我们程序执行流逝了多少时间,只在function执行的时候给物体的x或者y加减一定的值。这种运动是不稳定的,所以我建议大家使用基于时间的运动,下面的两个动画分别用两种运动模式做成,点击一下动画就会在function执行时执行大量的junk运算,这时你就会看到两种运动的差异。而基于时间的运动中,当速度恒定时,物体会处在正确的位置;基于祯的运动,你就会看到物体运动慢下来很多, 并不能达到物体在某个时间点应该到达的位置。更新9/20/2016,请注意,这些程序是很多年前写的,基于当时的测试,Add Junk Calculation可以使基于祯的运动边卡。(我今天9/20/2016再看这边文章,动画完全不卡,为什么?Core i7,CPU太强大了,卡不住了。如果你找一台老一些的电脑,还会卡。倒是很想更新这两个程序的代码,但是代码找不到了。)

 

      

 

对比基于时间和基于祯的运动

 

下载动画Flash文件

 

作者:Yang Zhou
出处:http://yangzhou1030.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。请在文章页面明显位置给出原文连接,作者保留追究法律责任的权利。

posted on 2008-11-09 16:11  yangzhou1030  阅读(1078)  评论(0编辑  收藏  举报

导航