[]webgl 下当对象子显示对象存在panel且panel有子集时,旋转此显示对象会导致此显示对象的同级对象消失!(1.7.10beta)
如题!
假设有个容器Box。Box里有A,B,C,D,E,F 显示对象。现在有个Panel对象P,P里有个子对象S。当把P添加到A时,并对A进行任意角度旋转,则与A同级的显示对象 B,C,D,E,F 会显示异常(多半会消失)。
此图是正常状态。与下图的区别是,此图的中间对象的rotation为0,而下图不是。
此图的中间对象的rotation是一个随机值,导致其他显示对象不可见。
显示对象层级关系如下:
代码如下:
附件有demo!
备注:引擎版本为1.7.9及其以上。可能和这个BUG的修复有关!
假设有个容器Box。Box里有A,B,C,D,E,F 显示对象。现在有个Panel对象P,P里有个子对象S。当把P添加到A时,并对A进行任意角度旋转,则与A同级的显示对象 B,C,D,E,F 会显示异常(多半会消失)。
此图是正常状态。与下图的区别是,此图的中间对象的rotation为0,而下图不是。
此图的中间对象的rotation是一个随机值,导致其他显示对象不可见。
显示对象层级关系如下:
代码如下:
// 程序入口
class GameMain{
constructor()
{
Laya.init(1280,720,Laya.WebGL);//只有webGL才会有问题
Laya.stage.scaleMode = Laya.Stage.SCALE_SHOWALL;
Laya.stage.alignV = Laya.Stage.ALIGN_TOP;
Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;
Laya.loader.load([{url:"res/atlas/comp.json",type:Laya.Loader.ATLAS}],Laya.Handler.create(this,this.loadComp));
}
private loadComp():void{
var parent:ui.ParentViewUI = new ui.ParentViewUI();
Laya.stage.addChild(parent);
//当注释掉设置rotaion的代码则没有问题,否则会导致显示异常,其他child消失
parent.child_1.rotation = Math.random() * 180;
}
}
class ChildView extends ui.ChildViewUI{
constructor(){
super();
var panel = new Laya.Panel();
panel.pos(0,0);
panel.size(200,50);
this.addChild(panel);
var panelChild = new Laya.Sprite();
panelChild.pos(0,0);
panelChild.size(200,50);
panel.addChild(panelChild);
}
}
new GameMain();
附件有demo!
备注:引擎版本为1.7.9及其以上。可能和这个BUG的修复有关!
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
cuixueying
赞同来自: