c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class MessageWindow : MonoBehaviour 7{ 8 public int CutI; 9 public string MassegeU; 10 public Text Massege; 11 public int MsDl1; 12 // Start is called before the first frame update 13 void Start() 14 { 15 StartCoroutine("MassTyping"); 16 } 17 18 // Update is called once per frame 19 void Update() 20 { 21 22 } 23 24 IEnumerator MassTyping() 25 { 26 CutI = 0; 27 Massege.text = ""; 28 MassegeU = "あいうえお"; 29 MsDl1 = MassegeU.Length; 30 for (int i = 0; i < MsDl1; i++) 31 { 32 CutI = i + 1; 33 Massege.text = Massege.text + MassegeU.Substring(CutI -1 , CutI); 34 yield return new WaitForSeconds(0.5f); 35 } 36 } 37}
というコードを書いていて、MassTypingというコルーチンを実行するとMassage.text が[あいうえお] となるように作っているつもりなのですが、[あいううえお] となってしまいますし、
error
1ArgumentOutOfRangeException: Index and length must refer to a location within the string. 2Parameter name: length 3System.String.Substring (System.Int32 startIndex, System.Int32 length) (at <695d1cc93cca45069c528c15c9fdd749>:0) 4MessageWindow+<MassTyping>d__6.MoveNext () (at Assets/Game/Script/Text/MessageWindow.cs:35) 5UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <c62cc0ef748e4107b21e2999fa50d73a>:0)
というエラーが出てきてゲームが停止してしまいます。
このエラーの要因と解決方法、できればMassage.textが[あいううえお]とならずに[あいうえお]となるようにする方法を教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/10/27 07:18