マウスボタン
CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 22/85。
マウスボタンには専用のメソッドが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として報告するため、タップでもベルが鳴ります。
チャレンジ
簡単クリックするたびにキューブが大きくなり、サイズ2まで成長します。
Update()内で、Input.GetMouseButtonDown(0) && transform.localScale.x < 2fに対するifを書きます。- その中で、
new Vector3(0.25f, 0.25f, 0.25f)をtransform.localScaleに加えます。
「プレイ」を押してゲームを4回クリックします。キューブは2倍のサイズまで大きくなり、そこで止まります。その後、「確認」を押します。
自分で試してみよう
using UnityEngine;
public class Grower : MonoBehaviour
{
void Update()
{
// クリックするたびに、各軸を0.25ずつ拡大し、サイズが2になるまで続ける。
}
}
Unityスクリプトの基礎のすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド