#javascript
#javascript
Вопрос:
Кто-нибудь знает, как сделать арматуру интерактивной? Я пробовал
armature.onclick = doSomething;
armature.addEventListener(MouseEvent,MouseDown,doSomething);
armature.getDisplay().onclick = doSomething;
_body = armature.getBone("body");
_body.onclick = doSomething;
но ничего не работает, и я не могу найти никакой документации, а примеры на странице DragonBones показывают только canvas.onclick = doSomething; который работает, но срабатывает при щелчке в любом месте на холсте.
Спасибо, Сандра
Комментарии:
1. Если вы прикрепите к нему обработчик щелчков
canvas
, он будет срабатывать всякий раз, когда вы щелкаете в любом месте внутри холста … если вы хотите выполнить действие при нажатии на определенную область, вам придется выполнять вычисления на основе положения мыши…2. Спасибо — я пытаюсь выяснить, есть ли обходной путь для прямого доступа к ним — как в EaselJS, где вы можете написать hero.onClick = doThis; но я хотел бы использовать DragonBones для создания листов спрайтов… Я опубликую, если смогу разобраться…
3. Вы не можете выбрать определенный элемент в canvas (насколько я знаю, в canvas нет элементов, это как доска). Если вы хотите получить доступ к элементам, загляните в svg…
Ответ №1:
Вы можете легко использовать так
this.armature.getDisplay().addEventListener("click",
function () {
alert('working');
}
);