自己解决吧
let isClick;
//前提:把所有可能与3D物体重叠的UI元素的 mouseEnable 设置为 true ,接收鼠标点击
onAwake()
{
this.isClick = false;
//对舞台stage添加点击事件(这里由于有scene的缘故,点击空白处返回的对象是scene)
Laya.stage.on(Laya.Event.CLICK,this,function(e)
{
if(e.target.name == "scene的名字")
{
this.isClick = true; //如果点击的是屏幕的空白处,那么让 isClick 为真
}
else
{
this.isClick = false; //如果点击的不是空白处,是屏幕上别的UI,让 isClick 为假
}
})
}
//然后在3D物体的鼠标脚本中,导入这个脚本,在鼠标脚本的点击事件中,isCLick为真时执行逻辑
import clickEvent from "./clickEvent";
onMouseClick()
{
if(clickEvent.instance.isClick) //单例模式
{
}
}