-
Creator 版本: 2.4.4
-
目标平台: Android
-
重现方式:模拟器报错,Android真机闪退
-
首个报错:

-
重现概率: 必现,执行到 let verticesData = boundingBoxData.vertices; 时就会出现断言错误
public getBoundingBoxVertices(slotName:string):Array<cc.Vec2>{
let slot = this.getSlot(slotName);
if(slot){
//更新转化矩阵信息,否则将边界框坐标转换为Cocos坐标时会有偏差
slot.updateTransformAndMatrix();
let boundingBoxData = slot.boundingBoxData;
if(boundingBoxData){
let verticesData = boundingBoxData.vertices;
let vertices:Array<cc.Vec2> = new Array<cc.Vec2>();
for(var i=0; i<verticesData.length; i=i+2){
let vertice:cc.Vec2 = cc.Vec2.ZERO;
//边界框顶点坐标转换为DragonBones坐标系中的世界坐标
slot.globalTransformMatrix.transformPoint(verticesData[i],verticesData[i+1],vertice,false);
//边界框顶点坐标转换为CocosCreator坐标系中的世界坐标
vertice = this.node.transformLocalToWorldPoint(vertice);
//保存该顶点
vertices.push(vertice);
}
return vertices;
}
else{
//边界框该帧不可见或不存在
return null;
}
}
//插槽不存在
return null;
}