C#,Unityで,UIのtextを使ったメッセージウィンドウを作っているのですがうまくいきません。
どう改善すればいいでしょうか?
理想としては、白枠の黒いメッセージウィンドウオブジェクトの中でTextが一文字ずつ自動で入力されていく感じにしたいです。
現時点では、messageメソッドを使用すると元から入力していた文字は消えるものの新しく文字が生成されない状況です。
messageDirector(このスクリプトがアタッチされているオブジェクト)のInspector欄"Messagewindow"にはTextのmassagewinが入っていますがC#スクリプトのInspector欄"Messagewindow"にはTextのmassagewinは入っていません。これかコード、もしくは両方が原因だと思います。
コード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Message : MonoBehaviour {
public GameObject messagewindow = null; void message () { string daihon = "成功しました"; string k = ""; Text messagewin = messagewindow.GetComponent<Text>(); messagewin.text = ""; for (int n = 0; messagewin.text.Length == daihon.Length; n++){ Debug.Log("処理"); k = daihon.Substring(n); messagewin.text += k; } } // Use this for initialization void Start () { message(); } // Update is called once per frame void Update () { }
}
コードの解説
string daihonはTextに最終的に表示したい文字で、そのdaihonの長さとTextの長さが同じになるまで,daihonのn文字目をkに代入しTextにkを足していくスクリプトになっていると信じたいです。
これがおわらないとほとんどゲーム制作が進まないのでどうか改善策をお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/04 13:52 編集