2016-06-09 170 views
1

目前正在使用插件,现在卡住了。尝试搜索,但不知道该找什么,帮助.. 我有一切工作正常,直到我决定使用延期推迟。我需要将temp传递给另一个脚本。寻找//错误。由于

首先脚本:如何将字符串参数传递给unity3d中的另一个脚本

  void Start() 
      { 
       skinnedMeshRenderer = GetComponent(); 
       Speakers speakers = new Speakers(); 
       SwaitTime = speakers.waitTime; 
       StalkSpeed = speakers.talkSpeed; 

      } 

      public void click() 
      { 

       foreach (Speakers i in speakerList) 
       { 
        string[] temp = split(i); 

        //ERROR 
        newLetterCombo = gameObject.AddComponent(); //able to access couroutine in 2nd script but does not pass temp argument like below. 
//letterCombo newLetterCombo = new letterCombo(temp); [worked earlier but does not access couroutine, also puts up monobehavior new keyword not allowed] 

        newLetterCombo.switchStarter(); 

       } 

      } 

第二个脚本:

  public string[] letters; 

      public letterCombo(string[] _letters) 
      { 
       letters = _letters; 

      } 

      public void switchStarter() 
      { 
       StartCoroutine(comboswitch()); 
      } 


      private IEnumerator comboswitch() 
      { 
       foreach (string combo in letters) 
       { 
        switch (combo) 
        { 
         case "AA": 
          print("AA"); 
          yield return new WaitForSeconds(2); 
          break; 
      [/code] 
+0

ÿ你可以传递参数。 –

+0

@GunnarB。请解释或更正该行,谢谢。 – comphonia

回答

0

只需拨打

newLetterCombo.switchStarter(temp); 

和更改等功能

public void switchStarter(string[] temp) 
{ 
    StartCoroutine(comboswitch(temp)); 
} 


private IEnumerator comboswitch(string[] temp) 
{ 
    //... 
} 
+0

是的,当然是'string []'。 –

相关问题