通过GetKeyDown统一播放不同的剪辑

时间:2015-11-22 22:34:44

标签: unity3d unityscript

我有一个参数为bool类型的Animator。 IMAGE

(define my-hash-table (make-hash))
  (for-each (lambda (s v) (hash-set! my-hash-table s v)) strings values)  ;;values is a list of 0,1,2,3,4,5
  (map (lambda (s) (list s (hash-ref my-hash-table s))) strings)

但只有一个第一个keydown正在工作.2个做什么?

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

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

2 个答案:

答案 0 :(得分:0)

  • 你需要设置" ca"是的,总是如此,所以动画师永远不会转向letterA。也需要设置" cv"当' S'没有按下。

         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);
             }
     }
    

答案 1 :(得分:-1)

尝试

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);
        }
 }

并且在按下First Key后再仔细检查您的应用程序是否爆炸或在控制台中出现RED错误。