Unity事例ノート

UNITY

if文で{}を省略

if文について、{}が無い場合と、ある場合の処理内容について見ていきましょう。

{}を省略して書くと、if()直後の一行だけが条件の対象となります。

ifの{}が無しの場合

Cube、Sphere、Capsuleのオブジェクトを作成し、横並びに配置します。

Cubeにリジッドボディを追加。回転を固定します。

CubeMove.csを作成し、Cubeに追加します。

ゲームプレイして、Capsuleに触れたあと、Sphereに触れてみましょう。

Capsuleに触れたタイミングで、赤色になります。

OnCollisionEnter()は、他のオブジェクトに触れると実行するメソッド。

ifの{}無しの場合は、直後のDestroy()のみが条件の対象となるため、Sphereに触れて実行されるのはDestroy()だけになります。

そのため、Sphere以外のオブジェクトに触れただけで、Color.red は実行されます。

ifの{}がある場合

続いて、if文に{}を書き加えてみましょう。

ゲームプレイして、Capsuleに触れたあと、Sphereに触れてみましょう。

Capsuleに触れても何も起きず、Sphereに触れれば赤色に変わり、Sphereが消えます。

if文で実行する処理を{}で囲むと、囲まれた行がすべて条件の対象となります。

Capsuleにぶつかっても実行するものが何も無く、Sphereにぶつかった時だけ、Destroy()と、Color.red が実行されます。