如何获得具有相同类型Kineticjs孩子?(How to get Children that ha

2019-09-03 05:43发布

我在Kineticjs麻烦,在我的代码:

var G1=new Kinetic.Group()

var sq=new Kinetic.Rect({
x:0,
y:0,
name:"sq"
})
var line1=new Kinetic.Line({
Points:[0,0,10,10],
name:"line1"
})

var line2=new Kinetic.Line({
Points:[0,0,50,50],
name:"line1"
})

G1.add(sq).add(line1).add(line2)

我知道,要得到G1的孩子只需键入“G1.getChildren()”。 但要获得有例如型Kinetic.Line我没有任何想法相同类型的孩子。 请帮我,tahnks

Answer 1:

对不起,没有这个教程,但是你可以通过这样的类型选择孩子:

VAR =形状layer.get( '线');

在KineticJS,形状类型类似于DOM标签。 您可以按名称选择它们。



Answer 2:

所以@Grant蒂默曼例如将工作,但我不知道那孩子,你只能有形状所以在这里我建议你做的事:

  var lines = G1.getChildren().filter(function(element) {
    return element instanceof Kinetic.Line;
  });

我不知道动能非常好,这就是为什么我做这样的假设。



Answer 3:

使用时只需将形状的shapeType财产。

下面是得到KineticJS线的阵列的例子

var lines = G1.getChildren().filter(function(element) {
    return element.shapeType === 'Line';
});


文章来源: How to get Children that have same type Kineticjs?