はじめに
この記事ではUnityで繰り返し処理である「for」「while」の使い方を紹介します。
― YouTubeなら1分16秒で学べます ―
繰り返し文 for の使い方
繰り返し文 “for” の使い方は、「for (int i = 0; i < 10; i++){処理}」のように、「i を定義し、1 が10 未満のときに、処理を実行した後、i を+1 する」という流れです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { // Use this for initialization void Start () { int sum = 0; for (int i = 0; i < 10; i++) { Debug.Log(i); sum += i; } Debug.Log("sum:" + sum); } // Update is called once per frame void Update () { } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
実行結果 0 1 2 3 4 5 6 7 8 9 sum:45 |
繰り返し文 while の使い方
繰り返し文には “for” の他に “while” があります。
これは、条件を満たしている間は繰り返す関数です。
使い方は「while ( i < 10){処理}」のように使います。
また、特殊な使い方で「while (true) {処理}」のように記入すると、無限ループ処理を行えます。
ループの先頭に戻るときは “continue “、ループから抜ける場合は “break“を処理に組み込みます。”break”が無い場合は無限ループとなりフリーズします。
もし、無限ループを発生させてしまった場合は強制終了するしかありません。強制終了すると、セーブしてない作業は全て消えてしまうので、while を使う際は注意が必要です。
基本的に、while で書けるコードは for でも書くことができます。特殊な理由がない限り、for を使うことをおすすめします。
ちなみに、強制終了は、「Ctrl + Alt + Delete ボタンを同時押し」して「タスクマネージャ」を開き、「プロセス」タブよりUnityを選択して「タスクを終了」させます。
もし、マウスカーソルが動くなら、タスクバーを右クリックして「タスクマネージャ」を開き、同様のことをします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { // Use this for initialization void Start () { int i = 0; while(i < 10) { Debug.Log(i); i++; } //while (true)を使う場合 int j = 0; while (true) { if(j < 10) { Debug.Log("ループ:" + j); j++; continue; } else { Debug.Log("ブレイク:" + j); break; } } } // Update is called once per frame void Update () { } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
実行結果 0 1 2 3 4 5 6 7 8 9 // while (true)の結果 ループ:0 ループ:1 ループ:2 ループ:3 ループ:4 ループ:5 ループ:6 ループ:7 ループ:8 ループ:9 ブレイク:10 |