回答編集履歴
5
ソース修正
answer
CHANGED
@@ -22,8 +22,8 @@
|
|
22
22
|
IEnumerator OutputMessage(string msg) {
|
23
23
|
|
24
24
|
// 引数でもらった文字列の文字数分繰り返し
|
25
|
-
for (int i = 0; i < msg.Length; i++) {
|
25
|
+
for (int i = 0; i <= msg.Length; i++) {
|
26
|
-
var outputText = msg.Substring(0, i
|
26
|
+
var outputText = msg.Substring(0, i); // 先頭からi文字目を切り出す
|
27
27
|
messagewindow.text = outputText; // テキストに反映
|
28
28
|
yield return new WaitForSeconds(1); // 1秒待つ
|
29
29
|
}
|
4
文字数ではなくインデックス番号だったため
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでインデックス番号n(n+1文字目)から最後まで切り取る感じになっているからじゃないでしょうか。
|
2
2
|
|
3
3
|
``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
|
4
|
-
先頭からn
|
4
|
+
先頭からインデックス番号nまで切り出したい場合などは、``daihon.Substring(0,n)`` でインデックス番号0(先頭)からインデックス番号nまでと引数2つ使って明示的に指定してあげると良さそうです。
|
5
5
|
|
6
6
|
コルーチン使ったほうがスムーズにいきそうなのでそっちで書いてみたサンプルと、提示されたコードを修正したもの2つを載せておきます。
|
7
7
|
|
3
文字数ではなくインデックス番号だったため
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでインデックス番号n(n+1文字目)から最後まで切り取る感じになっているからじゃないでしょうか。
|
2
2
|
|
3
3
|
``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
|
4
|
-
先頭から
|
4
|
+
先頭からn文字目まで切り出したい場合などは、``daihon.Substring(0,n)`` でインデックス番号0(先頭)からインデックス番号nまでと引数2つ使って明示的に指定してあげると良さそうです。
|
5
5
|
|
6
6
|
コルーチン使ったほうがスムーズにいきそうなのでそっちで書いてみたサンプルと、提示されたコードを修正したもの2つを載せておきます。
|
7
7
|
|
2
文字数ではなくインデックス番号だったため
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでn文字目から最後まで切り取る感じになっているからじゃないでしょうか。
|
1
|
+
1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでインデックス番号n(n+1文字目)から最後まで切り取る感じになっているからじゃないでしょうか。
|
2
2
|
|
3
|
-
``daihon.Substring(3);`` だとdaihonの3
|
3
|
+
``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
|
4
|
-
先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` で0(先頭)から3
|
4
|
+
先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` でインデックス番号0(先頭)からインデックス番号3と引数2つ使って明示的に指定してあげると良さそうです。
|
5
5
|
|
6
6
|
コルーチン使ったほうがスムーズにいきそうなのでそっちで書いてみたサンプルと、提示されたコードを修正したもの2つを載せておきます。
|
7
7
|
|
@@ -55,7 +55,7 @@
|
|
55
55
|
|
56
56
|
// 条件かけないと文字数文以上もやってしまうので応急処置
|
57
57
|
if (n <= daihon.Length) {
|
58
|
-
string k = daihon.Substring(0, n); // 引数1で0、つまり文字列の先頭を指定
|
58
|
+
string k = daihon.Substring(0, n); // 引数1でインデックス番号0、つまり文字列の先頭を指定
|
59
59
|
Text messagewin = GetComponent<Text>();
|
60
60
|
messagewin.text = k;
|
61
61
|
}
|
1
ソース修正
answer
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
コルーチン使ったほうがスムーズにいきそうなのでそっちで書いたらどうなるかとやってみました。
|
2
|
-
|
1
|
+
1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでn文字目から最後まで切り取る感じになっているからじゃないでしょうか。
|
3
2
|
|
4
|
-
|
3
|
+
``daihon.Substring(3);`` だとdaihonの3文字目から最後までを切り出します。
|
4
|
+
先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` で0(先頭)から3文字目と引数2つ使って明示的に指定してあげると良さそうです。
|
5
5
|
|
6
|
+
コルーチン使ったほうがスムーズにいきそうなのでそっちで書いてみたサンプルと、提示されたコードを修正したもの2つを載せておきます。
|
7
|
+
|
6
8
|
```C#
|
7
9
|
Text messagewindow;
|
8
10
|
string daihon = "入力したい文字";
|
@@ -60,6 +62,6 @@
|
|
60
62
|
|
61
63
|
}
|
62
64
|
|
63
|
-
|
65
|
+
}
|
64
66
|
|
65
67
|
```
|