Unity 5一次播放2D动画

时间:2015-04-26 21:44:53

标签: animation unity3d unity3d-2dtools

我只需要播放动画一次。

这样的事情:

public Animation[] animations;

animations[0].play();

我查看了StackOverflow,我找到的只有:

animation["AnimationName"].wrapMode = WrapMode.Once;
animation.Play("AnimationName");

但它没有任何结果。 这种方法实际上适用于Unity3D 5吗? 是否有新的方式来播放动画一次拍摄?

2 个答案:

答案 0 :(得分:2)

我有一种方法可以在鼠标按下时播放动画。

对于那个开放的动画师控制器并添加掉落动画,其中一个将是空闲动画(这将具有丢弃的初始阶段)。现在将空闲动画设为默认动画,并添加从空闲到动画的转换。

将参数添加到类型" Trigger"的此转换中。在转换条件中设置此参数。

再添加一个从放下动画到空闲状态的转换。

因此,在完成动画完成后,它将再次处于空闲状态。

现在编写脚本:

int dropHash = Animator.StringtoHash("parameterName");

onmouseDown:

animator.SetTrigger(dropHash);

希望你有所了解。这可能对你有所帮助。感谢。

答案 1 :(得分:0)

您必须使用wrapMode。在你的情况下,它可能像

foreach(Animation anim in animations) {
    anim.wrapMode = WrapMode.Once;
    anim.Play();
}