Как бы один идти о добавлении программно срабатывает сенсорный/события мыши в Matter.js? У меня есть несколько событий столкновения, настроенных для движка, но не могу вызвать событие mouseup, которое останавливает текущее действие перетаскивания. Я пробовал различные комбинации таргетинга на элемент canvas, mouse/mouseConstraint и нестатический объект.Инициирующие мышь/сенсорные события в Matter.js
ответ
Оказывается, я неправильно настроен модуль Matter.Mouse, и переназначения ввод мыши, который уже установлен в MouseConstraint. Следующие работы в отношении к моему первоначальному вопросу:
Matter.mouseConstraint.mouse.mouseup(event);
Если вы, как и я, пришли сюда, пытаясь выяснить, как быть в состоянии нажать на объекте тела Matter.js, позвольте мне дать вам один путь. Моя цель в моем проекте состояла в том, чтобы назначить некоторые атрибуты моим объектам прямоугольника и вызвать функцию, когда они были нажаты.
Первое, что нужно сделать, чтобы различать перетаскивание и щелчок, так что я написал (используя Jquery):
$("body").on("mousedown", function(e){
mouseX1 = e.pageX;
mouseY1 = e.pageY;
});
$("body").on("mouseup", function(e){
mouseX2 = e.pageX;
mouseY2 = e.pageY;
if((mouseX1 == mouseX2) && (mouseY1 == mouseY2)){
//alert("click!\n" + mouseX2 + " " + mouseY2 +"\n");
var bodiesUnder = Matter.Query.point(books, { x: mouseX2, y: mouseY2 });
//alert("click!\n" + mouseX2 + " " + mouseY2 +"\n");
if (bodiesUnder.length > 0) {
var bodyToClick = bodiesUnder[0];
alert(bodyToClick.title2);
}
}
});
Это было достигнуто при прослушивании для «MouseUp» и с просьбой, если ((mouseX1 == mouseX2) & & (мышьY1 == мышьY2)).
второго сочных совместителей создать массив уага для хранения объектов, или «тел», мы будем копать под мышкой. К счастью, есть эта функция:
var bodiesUnder = Matter.Query.point(books, { x: mouseX2, y: mouseY2 });
Для первого элемента здесь я ввел «книги». Для вас это должно быть имя массива, в который вы положили все свои объекты или «тела». Если вы не имеете их в массиве, это не трудно, чтобы бросить их в, например, так:
var books = [book1, book2, book3];
Как только это было сделано, я был в состоянии предупредить (book1.title2), чтобы увидеть, что название этой книги (тела) есть. Мои тела были закодированы следующим образом:
var book2 = Bodies.rectangle(390, 200, 66, 70, {
render : {
sprite : {
texture: "img/tradingIcon.jpg"
}
},
restitution : 0.3,
title1 : 'Vanessa and Terry',
title2 : 'Trading'
});
Надеюсь, что это поможет! Этот меня заставил меня повесить на целый день.
- 1. Nodejs и webSockets, инициирующие события?
- 2. инициирующие события прокрутки переплетены с .on()
- 3. Отключение гравитации в Matter.js
- 4. Поверните камеру в Matter.js
- 5. Matter.js Гравитационная точка
- 6. Моя собственная модель в matter.js
- 7. Требуется вычислительная сила Matter.js
- 8. Matter.js Размер спрайта
- 9. Matter.js меняет цвет
- 10. Инициирующие функции JQuery с PHP
- 11. Java Multi Threading/инициирующие потоки в цикле
- 12. Matter.js свойства объекта изменения OnClick
- 13. Отключение гравитации для определенного объекта в Matter.js
- 14. Скрытие зеленой тропы перетаскивания в Matter.js
- 15. Как перемещать камеру в файле matter.js
- 16. Объекты на холсте, не инициирующие (или кликабельны)
- 17. Django Framework: Как поймать все ошибки происходящих серверов централизованно и инициирующие события на таких ошибках
- 18. JavaScript, Matter.js: Отключить столкновение для одного тела
- 19. Matter.js: добавление свойства отскока на объекты
- 20. Matter.js Как сохранить добавление тел на холст
- 21. Matter.js: размещение текста или изображений на холсте
- 22. Корпус Matter.js без вращения вокруг его центра
- 23. Matter.js отключить столкновение между различными композитами
- 24. Инициирующие Анимации в PowerPoint с данными из Excel
- 25. Как разместить объект с помощью Matter.Object.create в файле matter.js?
- 26. Инициирующие Maven профили из Heroku сконфигурировано Переменные среды
- 27. Как нарисовать объекты matter.js с помощью «WebGLRenderer» от three.js?
- 28. JavaScript/Matter.js: объект с несколькими ограничениями только поднимается
- 29. Вызывает ли вызов Select() или GroupBy() в Linq объекты, инициирующие запрос к базе данных?
- 30. Parse dev/события события события/события