[]DialogManager默认是添加到Laya.stage上会导致非引擎的显示对象无法永远处于最上层!
如题。断点看了下引擎代码,尝试解决这个问题发现如下问题:
1.dialog对象父容器是dialogManager,引擎层会自动在dialog对象show的时候判断是否存在dialogManager对象,如果没有则实例化一个dialogManager并添加到舞台上,此时如果dialogManager在显示列表中的层级为最上层,从而就会遮挡自己永远停留在最上层的显示对象,这是不希望看到的!
2.在程序开始的时候,实例化一个dialogManager并赋值给Dialog.manager静态变量(Laya.Dialog.manager = new Laya.DialogManager();),事先把dialogManager添加到显示舞台,然后再把自己的最上层对象放入显示列表,这系列操作是没问题的。但是当dialog对象show的时候dialogManager又会跑到舞台的最上层遮挡住自己最上层的对象!
比如,一个代替鼠标的自定义图片,需要实时处于舞台的最上面!
1.dialog对象父容器是dialogManager,引擎层会自动在dialog对象show的时候判断是否存在dialogManager对象,如果没有则实例化一个dialogManager并添加到舞台上,此时如果dialogManager在显示列表中的层级为最上层,从而就会遮挡自己永远停留在最上层的显示对象,这是不希望看到的!
2.在程序开始的时候,实例化一个dialogManager并赋值给Dialog.manager静态变量(Laya.Dialog.manager = new Laya.DialogManager();),事先把dialogManager添加到显示舞台,然后再把自己的最上层对象放入显示列表,这系列操作是没问题的。但是当dialog对象show的时候dialogManager又会跑到舞台的最上层遮挡住自己最上层的对象!
比如,一个代替鼠标的自定义图片,需要实时处于舞台的最上面!
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
cuixueying
赞同来自:
2、在手机端是没有鼠标事件一说的,所以你说的问题也不会设计到,至于pc端,确实dialog会遮挡这个图标,明天我确认下,再告诉你!