Unity事例ノート

UNITY

ボタン押下のときにマウス動作やめる

左クリックで動くスクリプトでは、ボタンを押した際にも、プログラムが発動してしまいます。

ボタンを押したときに限って、プログラム動作を止める仕組みを作ってみましょう。

このように、クリックでボール発射できますが、ボタンを押したときのみ、発射が止まります。

テキストの作成

テキストを作成します。

Textのインスペクタを設定します。

ゲームビューではこのように配置されています。

ButtoOnのテキストは削除しておきましょう。

プレハブの作成

Sphereを作成して、リジッドボディをつけます。

プロジェクトビューにドラッグ&ドロップして、Prefab化します。

Sphereの元データは削除しておきます。

スクリプトの作成

空のオブジェクトを作成します。

ClickShot.csを作成して、GameObjectに追加します。

ClickShot.csを記述します。

using UnityEngine.UI; と using UnityEngine.EventSystems; を忘れずに記述しておきましょう。

次に、GameObjectのインスペクターを確認します。

プレハブにはSphereを入れ、ButtonOnTextにはTextを入れます。

ボタンの作成

ボタンを作成します。

ボタンの配置を変更します。

ゲームビュー上ではこのように配置されています。

ボタン押下で、ButtonDown()を実行させるために、以下の手順で設定します。

ゲームプレイしてみましょう

クリックでボール発射しますが、ボタンをクリックした時だけ、発射は止まります。