一,如果是ugui可以使用
1. button添加click事件
2. 实现 IPointerEnterHandler 接口
public void OnPointerEnter(PointerEventData eventData) {
print("skkdkd");
}
游戏的OnMouse*相关方法是无效的
IPointer事件 ,或者按钮事件无效
可能有如下原因:
1.没有保留image组件,并激活。(若想隐藏图片,可以把透明度降为0)
2.被比它层级更高的物体挡住了。可能是在父物体列表中的顺序比它更高。
3.没有勾选Interactable。
4.对应的Image没有勾选RayCast Target。
5.没有设置对应的点击事件或代码错误。
6.所在Canvas没有对应的EventSystem(可能是没复制过来,或者只新建了Canvas)。
7.该UI绕Y轴旋转了180度,相当于翻到了背面,无法识别鼠标点击。
二,如果是游戏内容
如果添加碰撞器 ,在这个方法会触发 ,2d,3d都可以
public void OnMouseEnter() {
transform.GetComponent<SpriteRenderer>().color = Color.yellow;
}
private void OnMouseExit() {
transform.GetComponent<SpriteRenderer>().color = oldColor;
}
如果不用碰撞器可以改成触发器但是要修改设置 ,勾选Queries Hit Triggers ,可以让触发器也实现鼠标相关方法