Bring to front в Paper.js

Здравствуйте. Никак не могу разобраться как правильно поместить элемент поверх всех элементов. Сейчас это сделано так (подсмотрено в примере от разработчиков http://paperjs.org/examples/hit-testing/):

function onMouseMove(event) {
    var hitResult = project.hitTest(event.point, {
        fill: true
    });
    project.activeLayer.strokeColor = conf.gridLineColors;
    if (hitResult && hitResult.item) {
        hitResult.item.strokeColor = "green";
        project.activeLayer.addChild(hitResult.item);
    }
}

Но блин, тут же нет никакого «перемещения», а добавляется новый потомок в активный слой (и я не понимаю, куда девается текущий элемент). Я плохо знаком с canvas и javascript и делаю это в академических целях, но разве, если очень долго исполнять данный скрипт, не наберется ли такое большое количество объектов в слое, что все начнет тормозить? Как правильно или так и должно быть?
  • Вопрос задан
  • 3240 просмотров
Решения вопроса 1
KEKSOV
@KEKSOV
Если залезть в исходники paper.js, то там видно, что addChild вызывает insertChild, который сначала удаляет объект из списка своих детей, а потом добавляет этот же объект в этот список, а потом вызывает redraw. Очевидно, что последний объект будет отрисован поверх всех остальных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 07:44
20000 руб./за проект
29 нояб. 2024, в 04:45
5000 руб./за проект
29 нояб. 2024, в 04:42
5000 руб./за проект