在Flash中创建呼吸动画

时间:2014-05-14 22:50:22

标签: flash animation actionscript-2

我正在处理闪光灯中的角色,这将与我的游戏一致。它现在是一个简单的角色,我想到为闲置位置添加呼吸动画(当他们不走路或做某个动作时)。我知道我可以只为每一帧制作动画,但有更简单的方法吗?我想过只使用补间的东西,但我不确定这看起来是不够真实。

有一种简单的方法吗?如果是这样,怎么样?此外,如果您有任何我可以看到的例子,那就太棒了。

感谢。

1 个答案:

答案 0 :(得分:0)

嗯,没有一些非常先进的编码就不太现实,但是你可以通过利用数学函数,正弦或余弦来消除一些简单的呼吸。制作一个新的角色动画片段,确保注册点位于角色的底部(在脚下),给它一个实例名称char,并在主时间轴帧(动画片段之外)上使用此代码:

var num = 0;

// change these to speed up/down AND change range/radius of breathing
var speed = 0.1;
var radius = 2.5;

var newHeight = char._height;
var originalHeight = char._height;

onEnterFrame = function(){
    newHeight = originalHeight - (Math.sin(num)*radius);
    num += speed;
}

function breathe(){
    char._height = newHeight;
}

// this is to NOT make the breathing smooth, the lower the smoother
setInterval(breathe, 50);

这不是世界上最好的解决方案,但嘿,至少它看起来不太合适。

HERE'S A DEMONSTRATION