鼠標/觸摸事件,一個人怎麼會去加入編程方式觸發觸摸/鼠標事件Matter.js?我已經建立了發動機的幾個衝突事件,但不能觸發停止當前的拖動操作mouseUp事件。我已經嘗試了各種針對canvas元素,mouse/mouseConstraint和非靜態主體的組合。引發Matter.js
0
A
回答
0
原來我已經不正確配置的Matter.Mouse模塊,並重新分配該已經在MouseConstraint設置鼠標輸入。在關於以下工作我原來的問題:
Matter.mouseConstraint.mouse.mouseup(event);
0
如果你和我一樣,來到這裏,試圖找出如何能夠點擊一個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);
}
}
});
這被監聽「鼠標鬆開」,並詢問是否((mouseX1 == mouseX2完成時)& &(mouseY1 == mouseY2))。
其次,多汁的部分 - 創建一個var數組來保存對象或'body',我們將在鼠標下挖掘。謝天謝地有這個功能:
var bodiesUnder = Matter.Query.point(books, { x: mouseX2, y: mouseY2 });
對於這裏的第一個元素,我進入了「書籍」。對於你來說,這需要你將所有的對象或'body'放入數組的名稱。如果沒有他們的陣列,它不是很難在把他們所有的,就像這樣:
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. 不能動畫matter.js
- 2. Matter.js計算需要的力
- 3. 在Matter.js中禁用重力
- 4. Matter.js碰撞未檢測
- 5. 我自己在matter.js模型
- 6. 在Matter.js中旋轉相機
- 7. Sprite圖像沒有出現在matter.js上
- 8. Matter.js改變對象屬性的onclick
- 9. JavaScript,Matter.js:增加圓的半徑
- 10. 如何將相機移至matter.js
- 11. Matter.js禁用不同的複合材料
- 12. Matter.js如何不斷向畫布添加實體
- 13. 如果使用Pixi.js渲染器,Matter.js不更新主體屬性
- 14. Matter.js:在對象上添加彈跳屬性
- 15. Matter.js:將文本或圖像放在畫布上
- 16. JavaScript/Matter.js:具有多個約束的對象只能提升
- 17. 在box2d/matter.js中查找運動的正常和切向分量
- 18. 當JMX引發通知時引發java.io.NotSerializableException
- 19. 的XPathNavigator引發錯誤引發NotSupportedException
- 20. 使用OptimizeOrgImport引發組織引發InvalidOperationException
- 21. DataTransfer.mozSetDataAt()引發SecurityError
- 22. android.view.InflateException引發:java.lang.OutOfMemoryError
- 23. HtmlUnit + Webclient.getPage引發
- 24. 引發事件
- 25. RelayCommand引發InvalidCastException
- 26. Pool.map引發IndexError
- 27. 引發異常
- 28. Netty引發IndexOutOfBoundsException
- 29. os.path.isfile引發FileNotFoundError
- 30. Rails引發InvalidURIError