Я пытаюсь изменить цвет обводки шестиугольника при наведении указателя мыши, а затем вернуться к исходному цвету при наведении указателя мыши.
Моя проблема в том, что если я перерисовываю только шестиугольник после обновления цвета обводки, предыдущий цвет остается по краям обводки.
hexagon.on('mouseover', function(e) {
e.target.stroke('red');
e.target.draw();
});
hexagon.on('mouseout', function(e) {
e.target.stroke('gray');
e.target.draw();
});
Демо на https://codepen.io/jsgarvin/pen/dmRJXj
Здесь исходный цвет серый, и он меняется на красный при наведении указателя мыши, но при наведении указателя мыши он снова становится серым с красной пылью по всем краям.
Если я перерисовываю весь слой, кажется, что он делает то, что я ожидал, но в моем конкретном случае использования я ожидаю, что на слое будет, среди прочего, несколько тысяч шестиугольников, и это кажется неэффективным для перерисовки всего слоя, если я просто нужно обновить один шестиугольник. Есть ли более правильный способ сделать это, на что я не обращаю внимания? Спасибо!