見出し画像

Unity勉強15日目:ループ分で、繰り返し処理をしてみよう

昨日は条件分岐の複数書き出す形を実施。

■振り返り

・ifでbool型を呼び出し、&&や||で絶対条件や、片方条件を設定できる
・たくさんのelse ifなどを作成するより、switch文を使う方が整理ができる
・たくさんあるときはswitch、TrueかFalseのときはifがよい

使用する場面を想定:
・&&は例えば両方のタイプの絵が好きな人はaなど。
・||はどちらかの条件でも好きであればこの絵提案、など。
・1月生まれはa、2月生まれはbなどはswitch。

■繰り返し処理をしてみよう

歩く動きだったり、あるボタンを押したらそのまま突き進むなど?
などの繰り返し実施したいとき、連続で書くのは面倒。

{
int a = 0;
while (a < 5)
//これはbool型
{
Debug.Log("aは" + a + "です");
//ループの中身
++a;
}
}

while aが5より小さい場合、ループの中身(aはaです と表示する)を実行する
その後、aに1を足して、whileに戻り、a(1)<5でTrue、
それが5回繰り返される。

例えば、ボスのHPを削るときや、もしかしたら、
物体に対して壁にぶつかる動きなどもできるかも?

スクリーンショット 2020-09-05 22.05.29

■無限ループに注意

一生Trueになるようなループ外での代入などがあると、
Unityを強制終了するしかなくなる。

なので、ループ内で++aなどで条件が変わり、
 代入b=a<5;などを入れることが大事!

■Updateとループ文の違い

簡単に言うと、
・Updateはマイフレーム呼ばれる(永遠に連続)
・ループは1フレーム内で完結する(5までの間に見えない速さで1,2,3,4を行う)

ループだと一瞬、Updateだとフレームごとに動く。

■ループ文で他に使えるcontinueとbreak

while(true)など無限に続きそうなものでも
++a;とif(a<10)
{continue}をすることで、++a+が続き、
その下にbreakを入れることで、
a<10になったら次の処理に移ることができる。

■ループ文で他に使えるdoとwhile

もし強制的に1回でも実施したい場合whileではなく
doを入れることで実施され、その後にwhileの条件が動く。

他にもfor文を書くことで、最初に1度だけ行う処理を書き
その後にループする文を書き、その後に処理が終わるたびに行う処理

for (int i = 0 ; i < 5 ;  ++i )
{
Debug.log(i);
}

intで定義、iは0であり1度処理。
その後iが5より小さい場合その下のDebug.Logが行われ、
次の処理としてiに1を足して、iが5になるまで続く。

for文の方がスッキリ1行でかけるし、無限ループの可能性も少ない。

■配列について

同じ型の変数を何回も書く(定義する)場合、配列が便利。

配列:複数の箱をまとめたもの

書き方は2つあり、

1.配列分に,で数字を書いていくか、

スクリーンショット 2020-09-05 22.29.42


2.大きい数はnew int[50]で箱に50小数字が入れられて
その後forのループ文でa.Length(50)になるまで
++iで足される回数処理が行われる

スクリーンショット 2020-09-05 22.30.58

■多次元配列について

3つのものが入った箱が4つあり、それが3つまとまっている場合
int[,,]a=new int[3,4,3]

その場合ループを何回するかわからないため、
GetLength(0)や(1)(2)をやることで、それぞれの個数を自動で計算してくれて、3×4×3で36までこの場合なら最大である。

あとはfor each文を使うことで、intで定義した数をそれぞれピックアップするまでループすることもできる。

■明日やること

今日の結構難しかったな、、、今週はちょっとプログラミング的なところで難しいけど、一旦やってみながら、ゲームを作るまでの1週間踏ん張りドキとして頑張る。


■今後やること

・一流に会う、一流から聞く、コミュニティなどで情報を浴びる

・Clusterに関する情報を集める
・Clusterでワールドを作ってみる

・Unityが出しているオンライン教材をする
・Unityのサンプルを分解
・簡単なゲームを作る
・アセットを使って動かす
・ClusterとUnityの仕事(ランサーズなど)を調べる

・Unity初心者をする
・Unityのチュートリアルをする
・建物空間とシーン(無限城を作ってみたり)
・C#やpythonが足りなければドットインストール
・スクレイピングサービスを作ってみる





この記事が参加している募集

#習慣にしていること

130,940件

アート、教育、探究、子育て、生き方。アーティストとして、スクール長として、本音しか書きません!