Unity(2018)、C#を使用しています。
Unityで、UI"Text"を使用したメッセージウィンドウを制作しているのですがうまくいきません。コードに問題があるみたいです。どう改善すればよろしいでしょうか?
Textに決められた台本の内容を1文字ずつ入力していき最終的にTextと台本のstring変数が同じになるのが理想なのですが、現在のコードで実行すると、Textに最初に台本が丸ごと表示されて、その後一文字ずつ消えていってしまいます。
下のコードを例に挙げると、シーンを開始すると、最初にTextに”入力したい文字”と表示され、その後、時間が経過するごとに”力したい文字””したい文字”という風に一文字ずつ消えていくのが現状です。最初に,"入"と表示され、時間が経過するごとに"入力"、”入力し"という風に一文字ずつ表示されていき、最終的に、"入力したい文字"と表示されるのが理想です。
回答の際には書き直した部分のコードの提示をお願いします。
上記の文には文法がおかしい部分が多々あると思いますが目をつぶっていただけたら幸いです。
コード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Message : MonoBehaviour
{
public GameObject messagewindow = null;
string daihon = "入力したい文字";
int n = 0;
float t = 0f;
// Update is called once per frame
void Update()
{
t += Time.deltaTime;
n = (int)Mathf.Floor(t * daihon.Length);
string k = daihon.Substring(n);
Text messagewin = messagewindow.GetComponent<Text>();
messagewin.text = k;
}
}
回答1件
あなたの回答
tips
プレビュー