Unity事例ノート

UNITY

ぶつかれば操作できなくする

他のオブジェクトにぶつかれば、プレーヤー操作が不可になるように、スクリプトで制御してみましょう。

往復しているCubeに触れれば、Sphere(プレーヤー)のキー操作が無効になって、動かなくなります。

関連記事:
【Unity C#】OnCollisionEnterとOnTriggerEnterの違い
【Unity C#】領域に入っている間と離れたときに発生
【Unity C#】オブジェクトから離れるとイベント発生
【Unity C#】触れている間はイベントを発生させる

十字キー操作を不可にする

CubeとSphereを作成します。

CubeのXを-5に、SphereのZを-5にして、位置を変更します。

Sphereにリジッドボディを追加してUseGravityのチェックを外し、トリガーにするにチェックを入れます。

まずはCubeから動きをつけていきましょう。

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

CubeMove.csを記述します。

これで、Cubeが往復運動します。

続いて、Sphereのスクリプトをつくります。

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

Sphere.csを記述します。

ゲームプレイして、Cubeにぶつかってみましょう。

キー操作が不可になり、Sphereを動かせなくなります。

isTouchのフラグをつくり、Cubeの当たったタイミングで、trueに。

キー操作できるのは、if(!isTouch)ということで、条件設定をfalseにしています。