2016-06-09 37 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 []'。 –

相關問題