【Unity】マウスクリックを検知する方法は?GetMouseButtonDownの使い方
今回はUnityのマウスクリックについてご紹介していきます。
クリック入力を検知する方法は非常に簡単なので覚えておくと良いでしょう。
本記事で紹介する内容は以下の通りです。
- GetMouseButtonDownの使い方
以上内容をご紹介していきたいと思います。
Contents
GetMouseButtonDownの使い方
基本形
まずはじめにクリック入力を検知するGetMouseButtonDownについて説明いたします。
GetMouseButtonDownは入力システムのインターフェースであるInputクラスの関数の一つです。
この関数を使用するととても簡単にクリック入力を受け取ることができます。
関数は以下の形で使用することができます。
1 |
public static bool GetMouseButtonDown (int button); |
ご覧の通り、ブーリアン型で返り値が返ってくるので、基本的にif文の条件式として使用するのが良いでしょう。
少しわかりづらいので実際に使う形に直すと以下のように使用します。
1 |
Input.GetMouseButton(0); |
これは引数に0が与えられているので右クリック入力を受け付けるとTrueを返すようになっています。
与える引数(int button)による機能の使い分けを簡単に表にまとめておきます。
引数 | 機能 |
0 | 左クリックを受け付ける |
1 | 右クリックを受け付ける |
2 | ミドルクリックを受け付ける |
実際に使用してみる
実際に使用方法を確認してみましょう。
まずはじめに適当なオブジェクトを一つ作成してください。今回の例ではCubeを作成します。(以下画像の通りです)
作成したオブジェクトに新しいスクリプトを設定します。
作成したオブジェクトを選択してInspectorビュー最下部のAddCompornentを選択し、NewScriptを選択してください。
スクリプト名は任意ですが、今回は「ClickSample」とします。
作成が完了したら、作成したClickSampleスクリプトを開いてください。
プログラムを以下のように変更してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickSample : MonoBehaviour { // Update is called once per frame void Update () { //左クリックを受け付ける if (Input.GetMouseButtonDown(0)) Debug.Log("Pressed primary button."); //右クリックを受け付ける if (Input.GetMouseButtonDown(1)) Debug.Log("Pressed secondary button."); //ミドルクリックを受け付ける if (Input.GetMouseButtonDown(2)) Debug.Log("Pressed middle click."); } } |
このプログラムを簡単に説明すると、
11行目以降でクリック入力を受け付けます。そして、それぞれのクリック入力を受け付けると、コンソールにログを出力するというシンプルなプログラムです。
プログラムを変更したら、実際に実行してCubeを左クリック・右クリックしてみましょう。
するとコンソールに先ほど設定したログが出力されます。
実際にクリック入力がされていることを確認できると思います。
まとめ
いかがでしたでしょうか。
今回は少し内容が少なめではありますが、GetMouseButtonDownの使い方を知っておくと地味に便利だと思います。
先ほどログを出力した部分に、爆発するパーティクルなどを設定したりすると面白いかもしれませんね。
パーティクルの使い方については以下の記事で紹介していますので、ぜひご参考ください。
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!