マウスボタン
CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 15/67。
マウスボタンにはそれぞれ専用の3つのメソッドがあり、ボタン番号を指定します。0は左ボタン、1は右ボタン、2は中央ボタンです。
Input.GetMouseButtonDown(0):このフレームで左ボタンが押された。Input.GetMouseButton(0):押し続けている間、各フレームで現在押されている。Input.GetMouseButtonUp(0):このフレームでボタンが離された。
これらはキー用のメソッドと同じように動作し、Input.GetMouseButtonDown(0)はInput.GetKeyDown(KeyCode.Mouse0)と同じです。このベルはゲーム内でクリックするたびに1回鳴ります。
public int rings = 0;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
rings++;
Debug.Log("Ding! " + rings);
}
}ゲーム内のどこをクリックしてもカウントされます。ベルの上をクリックしたときだけではありません。これらのメソッドが報告するのはボタンであり、ポインターの下にあるものではないからです。どのオブジェクトがクリックされたかを判定するには、これより多くのコードが必要です。スマートフォンでは、Unityはタップをマウスボタン0として報告するので、タップでもベルが鳴ります。
チャレンジ
簡単ゲームをクリックするたびに、キューブは各軸で0.25ずつ大きくなり、サイズが2に達するまで成長します。その後はクリックしても何も起こりません。ボタンを押し続けても、クリック1回として数えられます。
キューブのサイズはtransform.localScaleで、各軸の初期値は1です。Playを押してゲームをクリックし、次にCheckを押してください。
自分で試してみよう
using UnityEngine;
public class Grower : MonoBehaviour
{
void Update()
{
// クリックするたびに、各軸方向に0.25ずつ拡大し、サイズ2まで大きくする。
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。