检查KineticJS中图层的可见性

Checking visibility of layer in KineticJS

本文关键字:可见性 图层 KineticJS 检查      更新时间:2023-09-26

我正试图弄清楚如何检查KineticJS中的层是否可见。我需要这个,以便在用户单击按钮时适当地切换任何给定图层的可见性。如果它是可见的,我想在他们点击按钮时隐藏它。如果它不可见,那么我想显示它。想法吗?我看到有一个isVisible函数,但是当我试图在一个图层上使用它时,什么都没有发生。下面的代码没有出错,但它没有做任何事情。这是在Angular上用KineticJS编写的。在我的测试中,我发现这个事件被适当地触发了,所以不是这样的。我还发现,绘制功能是适当的发射。

scope.$on('layertoggle', function(event){
 var layerShapes = scope.kineticStageObj.get('#layer1');
 if(!layerShapes.isVisible()){
    layerShapes.hide();
 }
 else{
    layerShapes.show();
 }
 scope.kineticStageObj.draw();
});

试试这个:

var layerShapes = scope.kineticStageObj.get('#layer1')[0];

get返回符合该条件的形状集合。尽管id是唯一的,您仍然必须访问数组的第一个位置才能访问所需的形状。