質問: STR.SubString(i)//これもできているのかわかっていません //Debug.Log(arr)で確認しようとしましたが、コンソールには上記のエラーしか出ません`~~ ### 読み飛ばしていただいても構わない部分 それとありがとうございます 質問を閲覧いただきありがとうございます。 私は初めて配列を使ってスクリプトを組んだのですが、よくわからないところが多くて、 どうにもならず、質問させていただきました。 勝手ながらご教授お願いいたします。 配列を使わない方法などがあればそちらでも構いません。
回答: 文字列(文字が複数あるもの)がstring,文字(1文字だけ)がcharです。 つまり、str[i] はcharを返します。 ですが、strそのものが配列なので、無理に分割する必要はありません もしstringに入れ直したいならこう書くといいと思います ``` arr[i] = STR[i].ToString(); ``` コルーチン部分、あとぎ以外の文字でもウエイトが入っているので、 それ以外の文字では入らないようにしましょう 書き換えるならこんな感じですかね ``` private IEnumerator Cor(string str, string debug, floot speed ){ foreach (var c in str){ if (debug.Any(n => n == c)){ Debug.Log(c); yield return new WaitForSeconds(speed); } } } StartCoroutine(Cor(SetText.text, "あとぎ", 1.0f)); ``` 追記 1.Linqが必要です 2.intはミスです、cはcharです 3.n => n == c はラムダ式というもので、bool anonymous(char n){return n == c;} のような意味です 4.ラムダ式を知らないゆえの勘違いだと思うので、それは調べてください 5.anyは、debugの中にある文字のどれか一つとcが一致するかを返す関数です 例はcが"あとぎ"のどれかの文字ならtrueになります このソースはただの参考ですから、あなたの都合に合わせて書き換えてください