【问题标题】:Creating Breathing Animations in Flash在 Flash 中创建呼吸动画
【发布时间】:2014-05-14 22:50:22
【问题描述】:
我正在制作一个与我的游戏相匹配的 Flash 角色。现在这是一个简单的角色,我考虑在空闲位置(当他们不走路或不做动作时)添加呼吸动画。我知道我可以为每一帧设置动画,但有没有更简单的方法?我想过只使用补间的东西,但我不确定这看起来是否足够逼真。
有没有简单的方法来做到这一点?如果是这样,怎么做?另外,如果您有任何我可以查看的示例,那就太好了。
谢谢。
【问题讨论】:
标签:
flash
animation
actionscript-2
【解决方案1】:
好吧,如果没有一些非常高级的编码,这将是不现实的,但是您可以通过使用数学函数(正弦或余弦)来摆脱一些简单的呼吸。制作一个新的角色动画剪辑,确保注册点位于角色的底部(脚下),给它一个实例名称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