如何让动画在按键 w、a、s、and/or d 上播放并在按下 none 时停止?
How to make animation play on key press w, a, s, and/or d and stop when none of those are being pressed?
我用maya给他做了人形模型和走路动画(导出为fbx)。我可以让动画无限期地播放,但我希望它只在按下 w、a、s 或 d 时播放。然后我希望它在释放键时停止。
我将我的动画脚本附加到我的播放器对象。我还有一个动画组件,其中包含我的 "Player_Walk" 动画,它附加到我的播放器对象。是否需要其他一些组件才能使其正常工作?或者在脚本中初始化一些东西?或者?
这是我的脚本:
提前感谢您的帮助!如果需要更多信息,请告诉我。
P.S。类似这样的问题还有很多,但很多都是Unity 5发布前的回答,所以帮助不大。
缓存您的 Animation
组件,因为您调用了 Update()
以提高性能。
Animation anim;
void Awake()
{
anim = GetComponent<Animation>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.D))
anim.Play();
else
anim.Stop();
}
我用maya给他做了人形模型和走路动画(导出为fbx)。我可以让动画无限期地播放,但我希望它只在按下 w、a、s 或 d 时播放。然后我希望它在释放键时停止。
我将我的动画脚本附加到我的播放器对象。我还有一个动画组件,其中包含我的 "Player_Walk" 动画,它附加到我的播放器对象。是否需要其他一些组件才能使其正常工作?或者在脚本中初始化一些东西?或者?
这是我的脚本:
提前感谢您的帮助!如果需要更多信息,请告诉我。
P.S。类似这样的问题还有很多,但很多都是Unity 5发布前的回答,所以帮助不大。
缓存您的 Animation
组件,因为您调用了 Update()
以提高性能。
Animation anim;
void Awake()
{
anim = GetComponent<Animation>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.W) || Input.GetKeyDown(KeyCode.A) || Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.D))
anim.Play();
else
anim.Stop();
}