TOY BOX

Textで1文字ずつ出す

Canvasの上にTextを用意してTextにスクリプトを張り付けて動かす

スクリプトはこんな感じ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Chg_Text : MonoBehaviour
{
    public float messageSpeed = 0.1f;
    Text text;
    void Start()
    {
        text = this.GetComponent<Text>();   //Text取得
    }

    public void TextString(string T){
        StartCoroutine(DelayCoroutine(T));  //タイマ起動
    }
    
    // タイマ起動中の挙動
    private IEnumerator DelayCoroutine(string T)
    {
        text.text = "";     //テキストリセット
        for(int i=0;i<T.Length;i++){
            text.text += T[i];          //一文字ずつ表示していく
            yield return new WaitForSeconds(messageSpeed);  //指定秒だけ止まる
        }
    }
}

TextStringに入力したstringを1文字ずつTextに表示していきます。

送る側はこんな感じ

[SerializeField] private Chg_Text chg_text;
public string text;
void Update()
{
        if (Input.GetKeyDown(KeyCode.T)){
            chg_text.TextString(text);
        }
}

chg_textにはTextをいれてやり、textには任意の文字を入れる

出来たら実行してみる、Tボタンを押すとTextに書いてある文字が一文字ずつ表示されていく

MessageSpeedを変えると好きな速さで文字が表示されていく

後は目的に応じてコードを変更してください。

-TOY BOX

©2020-2021 HIDELOG All Rights Reserved.