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 и делаю это в академических целях, но разве, если очень долго исполнять данный скрипт, не наберется ли такое большое количество объектов в слое, что все начнет тормозить? Как правильно или так и должно быть?
  • Вопрос задан
  • 3238 просмотров
Решения вопроса 1
KEKSOV
@KEKSOV
Если залезть в исходники paper.js, то там видно, что addChild вызывает insertChild, который сначала удаляет объект из списка своих детей, а потом добавляет этот же объект в этот список, а потом вызывает redraw. Очевидно, что последний объект будет отрисован поверх всех остальных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект