Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

EventSystem.IsPointerOverGameObject

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function IsPointerOverGameObject(): bool;
public bool IsPointerOverGameObject();
public function IsPointerOverGameObject(pointerId: int): bool;
public bool IsPointerOverGameObject(int pointerId);

パラメーター

pointerId ポインター ID (タッチ、マウス)。

説明

指定した ID のポインターが EventSystem オブジェクト上にあるかどうか。

#pragma strict
public class MouseExample extends MonoBehaviour {
	function Update() {
		// Check if the left mouse button was clicked
		if (Input.GetMouseButtonDown(0)) {
			// Check if the mouse was clicked over a UI element
			if (EventSystem.current.IsPointerOverGameObject()) {
				Debug.Log("Clicked on the UI");
			}
		}
	}
}
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class MouseExample : MonoBehaviour {

void Update () { // Check if the left mouse button was clicked if(Input.GetMouseButtonDown(0)) { // Check if the mouse was clicked over a UI element if(EventSystem.current.IsPointerOverGameObject()) { Debug.Log("Clicked on the UI"); } } } }

IsPointerOverGameObject() をパラメーター無しで使用すると、"左マウスボタン" (pointerId = -1) を指します。したがって、IsPointerOverGameObject をタッチに使用する場合、ポインター ID を指定する必要があります。

#pragma strict
public class TouchExample extends MonoBehaviour {
	function Update() {
		// Check if there is a touch
		if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) {
			// Check if finger is over a UI element
			if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) {
				Debug.Log("Touched the UI");
			}
		}
	}
}
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class TouchExample : MonoBehaviour {

void Update () { // Check if there is a touch if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) { // Check if finger is over a UI element if(EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) { Debug.Log("Touched the UI"); } } } }

タッチの場合、IsPointerOverGameObject は OnMouseDown()Input.GetMouseButtonDown(0)Input.GetTouch(0).phase == TouchPhase.Began のいずれかと一緒に使用するようにしてください。