缓冲效果详解

      闪客教程 2004-12-9 15:50
简单的说一下...场景上建立个影片叫mc


mc._x = mc._x + (500 - mc._x) * .1;

mc._x = mc现在坐标 + (目的地坐标 - mc现在坐标) * 速度

** 速度为1代表全速前进, 越少就越慢

mc._x 假设为 10, 那么代入那个公式一步步的执行就会得到





第一步:

mc._x = 10 +(500 - 10) * 0.1;

mc._x = 10 + 490 * 0.1;

mc._x = 10 + 49;

mc._x = 59; //那么mc._x就变成59了, 再来循环





第二步

mc._x = 59 + (500 - 59) * 0.1;

mc._x = 59 + 441 * 0.1;

mc._x = 59 + 44.1;

mc._x = 103.1 //mc._x到这里又变成103.1了, 再来循环





第三步 :

mc._x = 103.1 + (500 - 103.1) * 0.1;

mc._x = 103.1 + 396.9 * 0.1;

mc._x = 103.1 + 39.69;

mc._x = 142.79 //以此类推





就这样mc._x就一直增加而 (目的地坐标 - mc目前坐标) 就越减越少了啊, 一直到接近500的时候, 如 (500 - 499.9) * 0.1 所得到的数目就小到几乎无法以肉眼辨认增加而导致我们看起来停止的感觉







回到Flash, 只要把这个代码放在第一帧就可以得到以上红色和蓝色数目的结果了

onEnterFrame = function() {
trace("mc._x = "+mc._x+ "\n(500 - mc._x) * .1 = "+(500 - mc._x) * 0.1);
mc._x += (500 - mc._x) * .1;
trace("**************************************");
}

-----闪吧.Super-Tomato
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}