[英]How to pass string argument to another script in unity3d
目前正在开发插件并且现在卡住了。 尝试搜索,但不知道该寻找什么,帮助..我一切正常,直到我决定使用couroutines延迟。 我需要将temp传递给另一个脚本。 寻找//错误。 谢谢
第一个脚本:
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]
打电话吧
newLetterCombo.switchStarter(temp);
并将其他功能更改为
public void switchStarter(string[] temp)
{
StartCoroutine(comboswitch(temp));
}
private IEnumerator comboswitch(string[] temp)
{
//...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.