我有一个舞台和多个叠加的层。我用一个按钮来指代每一层。我必须允许用户在点击一个按钮时在这些多个图层上绘制,并在它们之间进行切换。如何检查哪一层位于其他层之上?
我试过layer.getAbsoluteZIndex()
,但这并不明显。是否存在实际返回true / false的方法,例如.isOnTop()
?
编辑:
嗯,我必须自己实施它,我猜是好的。最简单的解决方案是在每个层的定义中添加一个布尔属性isOnTop
,并进行适当的测试和处理。
答案 0 :(得分:0)
首先在Kinetic.Stage上添加一个新方法:
Kinetic.Stage.prototype.getTopLayer=function(){
var layers=stage.find('Layer');
var topLayerIndex=-100;
var topLayer;
for(var i=0;i<layers.length;i++){
var index=layers[i].getAbsoluteZIndex();
if(index>topLayerIndex){
topLayerIndex=index;
topLayer=layers[i];
}
}
return(topLayer);
}
然后你可以像这样获得具有最高z-index的图层:
var myTopLayer = stage.getTopLayer();