Спасибо, разобрался с этим, был невнимателен. Далее пытаюсь сделать чтобы объект обновлял свое состояние после drop'а. Если после drop'а два
объекта пересекаются они должны поменять цвет заливки фигуры. Изменил метод mousemove. Получил вот такое
canvas.addEventListener('mousemove', function (evt) {
if (isDragging) {
var mousePos = oMousePos(canvas, evt);
for (var i = 0; i < list.length; i++) {
if (list[i].bool) {
updatePoligon(list[i]);
ctx.clearRect(0, 0, width, height);
var X = mousePos.x + delta.x, Y = mousePos.y + delta.y
list[i].x = X;
list[i].y = Y;
selectPoligon = list[i];
break;
}
}
drawPoligons();
}
}, false);
и изменил метод mouseup, получилось вот такое
canvas.addEventListener('mouseup', function (evt) {
isDragging = false;
for (var i = 0; i < list.length; i++) {
list[i].bool = false
}
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < list.length; i++) {
if (checkStarCollision(selectPoligon, list[i])) {
ctx.fillStyle = "red";
}
else{
ctx.fillStyle = "black";
}
drawPoligon(list[i]);
}
}, false);
Но цвета прыгают, т.е. после дропа если два полигона пересекаются, они красными становятся, но так же если не пересекаются, то полигон который двигал, становится красным, а если двигаю 3-ю фигуру, то во время mousemove, становятся красными и все остальные, моет поскажет кто где косяк?