Unity3d 在unity中通过GetKeyDown播放不同的剪辑

Unity3d 在unity中通过GetKeyDown播放不同的剪辑,unity3d,unityscript,Unity3d,Unityscript,我有一个参数为布尔类型的动画师。 但是只有一个第一个按键有效。2怎么办 UPD:我尝试使用integer参数,但它也不起作用 if (Input.GetKeyDown(KeyCode.A)) { anum.SetInteger("letter", 1); print("1111111111111111"); } if (Input.GetKeyDown(KeyC

我有一个参数为布尔类型的动画师。

但是只有一个第一个按键有效。2怎么办

UPD:我尝试使用integer参数,但它也不起作用

          if (Input.GetKeyDown(KeyCode.A))
         {
             anum.SetInteger("letter", 1);   
             print("1111111111111111");
         }

         if (Input.GetKeyDown(KeyCode.S))
         {
             anum.SetInteger("letter", 2);
             print("22222222222222");     
         }
  • 您需要将“ca”设置为false,它始终为true,这样动画师就永远不能使用letterA。还需要在未按下“S”时将“cv”设置为false

         void Update()
         {
            if (Input.GetKeyDown(KeyCode.A))
            {
                anum.SetBool("ca", true);
    
            }
            else 
            { 
               anum.SetBool("ca", false);
             }
    
            if (Input.GetKeyDown(KeyCode.S))
            {
                anum.SetBool("cv", true);
            }
            else 
            { 
                 anum.SetBool("cv", false);
             }
     }
    
试试看

void Update()
     {
        if (Input.GetKeyDown(KeyCode.A))
        {
            anum.SetBool("cv", false);
            anum.SetBool("ca", true);

        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            anum.SetBool("ca", false);
            anum.SetBool("cv", true);
        }
 }

并且在按下第一个键后,再次检查您的应用程序是否没有爆炸或在控制台中出现红色错误。

好的,输入代码就可以了。请检查您的“anum”实体,无论它是否能够这样做;公共动画师anum;void Start(){anum=GetComponent();}
void Update()
     {
        if (Input.GetKeyDown(KeyCode.A))
        {
            anum.SetBool("cv", false);
            anum.SetBool("ca", true);

        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            anum.SetBool("ca", false);
            anum.SetBool("cv", true);
        }
 }