gpt4 book ai didi

c# - unity animation.play() 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:13 25 4
gpt4 key购买 nike

我有一个简单的脚本,可以让我的播放器动起来,但它不起作用。我看了一会儿论坛,有些人有关于动画遗留选项的问题,我修复了它,但我的角色仍然没有动画,也没有任何编译错误。这是我的脚本:

using UnityEngine;
using System.Collections;

public class maincharacter : MonoBehaviour {

void Start () {
}

float xSpeed = 10f;
float zSpeed = 10f;
public float playerMovementSpeed = 10f;

void Update () {
float deltaX = Input.GetAxis ("Horizontal") * xSpeed;
float deltaZ = Input.GetAxis ("Vertical") * zSpeed;

Vector3 trans = new Vector3 (deltaX + deltaZ ,0f,deltaZ - deltaX);
transform.Translate (trans.normalized * Time.deltaTime * playerMovementSpeed, Space.World);

animation.Play ("mcrunsw");

/*if (deltaX != 0 || deltaZ != 0) {
animation.Play ("mcrunsw");
}*/
}
}

这是我的游戏对象和动画: enter image description here

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

来自manual :

Play() will start animation with name animation, or play the default animation. The animation will be played abruptly without any blending.

因为你每一帧都调用它,我想它只会显示动画的第一帧,然后被下一个动画停止。在下一个更新中播放。试试这个:

if (!animation.isPlaying) {
animation.Play();
}

一般来说,我建议使用 Mechanim 制作角色动画。

关于c# - unity animation.play() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22148538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com