「Touch」が「UI」上かどうかを判定する方法
「Unity」エディターでの操作
- 「Cnvas」上の全ての「UI」に任意のタグ(「UI」等)をつける
サンプルコード
private bool TouchingUI()
{
Touch[] touches = Input.touches;
for (int i = 0; i < touches.Length; i++)
{
PointerEventData pointData = new(EventSystem.current);
pointData.position = touches[i].position;
List<RaycastResult> rayResults = new();
EventSystem.current.RaycastAll(pointData, rayResults);
for (int j = 0; j < rayResults.Count; j++)
{
if (rayResults[j].gameObject.CompareTag("UI"))
return true;
}
}
return false;
}
その他
参考記事
お問い合わせ
コメント