gpt4 book ai didi

c# - 动态切换状态机 Unity C#

转载 作者:行者123 更新时间:2023-11-30 16:52:37 41 4
gpt4 key购买 nike

有点问题,似乎无法在互联网上的任何地方找到答案。

我在 Unity 中有 4 个子状态机(见附图),在播放时,如果默认为手枪状态机并正常播放空闲动画。

但是我想要一些代码,用户按下 M,他可以切换到步枪子状态机。

State Machines

我试过 animator.Play 但这似乎没有用,所以我有点卡住了。我试过以下不起作用:

  if(Input.GetKeyDown(KeyCode.M))
{
animator.Play("Rifle",0);
}

有什么想法吗?

最佳答案

unity 中的每个默认按钮都有自己的“名称”,称为输入轴,您可以在其中调用(即“fire1”、“jump”)

这可能非常有用,尤其是在您设置这些按钮来操作虚拟 Controller 中的每个屏幕按钮的移动应用程序中。

如果你想添加新的虚拟轴去编辑->项目设置->输入菜单

see here

这是一个与您的代码几乎相似的示例

var bullet : GameObject;
var shootPoint : Transform;

function Update (){
if(Input.GetKeyDown("Fire1")) || Input.GetKeyDown("space")){
//example
Instantiate(bullet, shootPoint.position, tranform.rotation);

//you could put the code on how you shoot here
}

记住更新每帧调用一次

希望对您有所帮助

关于c# - 动态切换状态机 Unity C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32387192/

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