【忙しい人のためのUnity入門講座】繰り返し for と while 文の使い方
はじめに
この記事ではUnityで繰り返し処理である「for」「while」の使い方を紹介します。
繰り返し文 for の使い方
繰り返し文 "for" の使い方は、「for (int i = 0; i < 10; i++){処理}」のように、「i を定義し、1 が10 未満のときに、処理を実行した後、i を+1 する」という流れです。
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 () {
}
}
実行結果
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を選択して「タスクを終了」させます。
もし、マウスカーソルが動くなら、タスクバーを右クリックして「タスクマネージャ」を開き、同様のことをします。
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 () {
}
}
実行結果
0
1
2
3
4
5
6
7
8
9
// while (true)の結果
ループ:0
ループ:1
ループ:2
ループ:3
ループ:4
ループ:5
ループ:6
ループ:7
ループ:8
ループ:9
ブレイク:10