アレイからメッセージを順番に表示したい。しかし、最後のメッセージは配列にしか表示されません。 StartCoroutine()を使用してコードが3秒後に遅れるIEnumeratorを呼び出しました。しかし、遅延の後、配列内の最後のメッセージだけが表示されます。unity3dで3秒後に配列からテキストメッセージを表示
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class WelcomeMessage : MonoBehaviour {
private string startMessage="Hello Player,It's Time to start Learning the Video Game Development";
private string[] messages = { "Now, First Complete Your First Assingment","Find Treasure","Kill them" };
public GameObject canvas;
public Text Message;
void Start() {
setInitialization();
showMessage();
}
void setInitialization()
{
Message = GameObject.Find("welcomeMessage").GetComponent<Text>();
}
void showMessage()
{
Message.text = startMessage;
for (int i = 0; i < messages.Length; i++)
{
StartCoroutine(disableCanvas(messages[i]));
}
}
IEnumerator disableCanvas(string msg)
{
yield return new WaitForSeconds(3);
Message.resizeTextForBestFit = false;
Message.fontSize = 20;
Message.text = msg;
Message.alignment = TextAnchor.UpperLeft;
}
}
問題を解決したにもかかわらず答えとして選択されていない質問があると思います。人々があなたの質問に答えてそれがあなたの問題を解決した場合は、答えとしてソリューションを選択します。 1つの例外は、問題が解決されない場合です。 – Programmer
解答としてどこから答えを選ぶかわからない。 –
答えの左上にあるチェックマークをクリックしてください。 http://i.imgur.com/GWuYsNn.png – Programmer