关于 MonoBehaviour.OnMouseDown
当用户在 GUIElement 或 Collider 上按下鼠标按钮时,将调用 OnMouseDown。
该事件将发送到 Collider 或 GUIElement 的所有脚本。
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class Example : MonoBehaviour
{
void OnMouseDown()
{
print("鼠标按下");
}
}
调用OnMouseDowm的时候要注意:
- 在属于 Ignore Raycast 层的对象上,不调用该函数。
- 当且仅当 Physics.queriesHitTriggers 为 true 时,才在标记为触发器的碰撞体上调用该函数。
- OnMouseDown 可以作为协同程序使用。
调用OnMouseDown失败的常见原因可能有:
- 调用对象物体的脚本没有添加上去
- 没有给物体添加Collider 碰撞器组件
- 由于OnMouseDown是采用射线Raycast来检测的,物体接受鼠标点击射线的时候有没有被其他UI挡住