Layabox:点击tip框外面的位置关闭tip框

语言:LayaBox - AS3

效果图.png

示例:
第一步:鼠标点击事件的监听函数绑定给了canvas(舞台)
第二步:

public static function checkItemUseDlg(target:*):void{
    //获取tip所在的页面(tip挂载的父级页面)
     var dlg:* = GameUIManager.instance.getUI(1);
    //判断是否点击tip框以外的位置
     if(dlg && dlg.visible && Tools.isAncestor(target,dlg)){
        dlg.hide()
    }
}

判断点击的目标不是tip框的代码

public static function isAncestor(curWindow:Sprite,ancestor:Sprite):Boolean{
    var flag:Boolean = curWindow == ancestor
    if(!flag){
        var parentNode:Sprite = curWindow.parent as Sprite
        while(parentNode){
            flag = parentNode == ancestor
            if(flag)
                break
            parentNode = parentNode.parent as Sprite
        }
    }
    return flag
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容