Я заполняю холст небольшими кругами, чтобы сформировать форму и хотел бы уничтожить некоторые из кругов, где когда-либо пользователь нажимал на экран, используя следующую функцию.createjs борется с hitTest()
dotsArray: это массив всех кругов dot.ball: это круг втягивается бомба: это круг, нарисованный с помощью пользовательского ввода, принимаемая мышью и hold.The бомбы масштабируется до размеров, как мышь нажимается
function onMouseDown(event){
bomb.x = event.stageX;
bomb.y = event.stageY;
bomb.active = true;
}
function decimateBalls(){
for (var i = 0; i < dotsArray.length; i++){
for (var j = 0; j < dotsArray[i].length; j++){
var dot = dotsArray[i][j];
var pt = dot.ball.localToLocal(dot.ball.x, dot.ball.y,bomb);
if(bomb.hitTest(pt.x,pt.y)){
dot.setType("empty"); // this changes dot's circle to white making it seem invisible
}
}
}
}
Когда я использую приведенный выше код, даже если я вычислить местоположение мелких точек по отношению к бомбе кругу втягивания, точки, которые исчезают те, которые много смещена от бомбы окружность.
Я делаю что-то явно неправильно? Есть ли лучший способ подойти к этой проблеме? Большое спасибо за ваше время.