如何选择图层中具有某些特征的所有形状/精灵?
例如,所有具有特定x或y位置的形状,或具有某些属性的形状?
我希望能够遍历游戏中具有特定特征的所有精灵,然后使用它们。
例如,我可以这样做:
// loop through the 'alien' sprites, selecting dead ones only up front.
var deadAliens = layer.get('alien','shield==0')
deadAliens.each(function(deadAlien) {
deadAlien.remove(); // remove dead alien
});
而不是:
// loop through 'alien' sprites and use 'if' statements to select dead ones.
var aliens = layer.get('alien')
aliens.each(function(alien) {
if (alien.getAttr('shield')==0) alien.remove(); // remove dead alien
});
关键是我想用'get'来执行选择,而不是在循环中使用'if'语句。
编辑: 更好的是:
layer.get('*[search criteria]*').remove();
...将remove()
方法直接应用于选择。这比我上面的第一个例子更整洁。
由于
欧文
答案 0 :(得分:0)
回答你的问题,目前你必须采取你提到的第二种方法,即使用每个方法(),并检查每个结果的属性。如果社区有足够的需求,KineticJS可能会在未来支持比较器功能。