Tôi sử dụng box2dweb. Tôi đang cố gắng phát triển một trò chơi. Tại một số điểm tôi cần phải tìm ra các điểm liên lạc giữa một "Circle" và "Box". Tất cả tôi biết là nó có thể được thực hiện bằng cách sử dụng b2ContactListener. Chúng tôi có thể nhận dữ liệu liên lạc bằng cách triển khai b2ContactListener sử dụng Sự kiện sau khi giải quyết. Hãy giúp tôi!Box2dweb - Va chạm Contact Point
8
A
Trả lời
16
Bạn đang đi đúng hướng có những sự kiện khác nhau mà bạn có thể móc vào với b2ContactListener:
var b2Listener = Box2D.Dynamics.b2ContactListener;
//Add listeners for contact
var listener = new b2Listener;
listener.BeginContact = function(contact) {
//console.log(contact.GetFixtureA().GetBody().GetUserData());
}
listener.EndContact = function(contact) {
// console.log(contact.GetFixtureA().GetBody().GetUserData());
}
listener.PostSolve = function(contact, impulse) {
if (contact.GetFixtureA().GetBody().GetUserData() == 'ball' || contact.GetFixtureB().GetBody().GetUserData() == 'ball') {
var impulse = impulse.normalImpulses[0];
if (impulse < 0.2) return; //threshold ignore small impacts
world.ball.impulse = impulse > 0.6 ? 0.5 : impulse;
console.log(world.ball.impulse);
}
}
listener.PreSolve = function(contact, oldManifold) {
// PreSolve
}
this.world.SetContactListener(listener);
Chỉ cần loại bỏ mã postSolve và tùy thuộc vào những gì bạn cần làm móc vào các sự kiện thích hợp.
Seth ladd có một số bài viết hay về blog của anh ấy về va chạm/phản ứng với họ. Đây là nơi tôi nhặt các bit này để tín dụng đầy đủ đến với anh ta.
Tôi hy vọng điều này sẽ hữu ích.
Cảm ơn, Gary
Các vấn đề liên quan
- 1. va chạm HG vụ va chạm gấp?
- 2. Làm cách nào để xóa nội dung trong Box2dWeb sau khi va chạm
- 3. Trình phát hiện va chạm/phát hiện va chạm voxel
- 4. Phát hiện va chạm ban đầu của hai cơ quan Box2D mà không cần liên tục va chạm
- 5. Phát hiện va chạm Javascript
- 6. Va chạm HashSet trong Java
- 7. javascript va chạm tên hàm
- 8. zend: va chạm tham số
- 9. Làm thế nào để phát hiện va chạm nhưng không va chạm trong box2d?
- 10. string.GetHashCode() tính độc đáo và va chạm
- 11. Va chạm bất ngờ với std :: hash
- 12. Xác suất của các va chạm SHA1
- 13. Phát hiện va chạm vòng tròn nhanh
- 14. Số va chạm băm dự kiến
- 15. Cách phát hiện va chạm trong webgl?
- 16. Phát hiện va chạm liên tục 2D
- 17. Phát hiện va chạm canvas Javascript
- 18. CHECKSUM() va chạm trong SQL Server 2005
- 19. QuadTree cho phát hiện va chạm 2D
- 20. Visual Studio 2008 va chạm khủng khiếp
- 21. Độ phân giải va chạm trong HashMap
- 22. Tìm va chạm trong bảng băm
- 23. Hiểu sha-1 va chạm yếu
- 24. Va chạm dựa trên gạch trong XNA
- 25. Hoạt ảnh tùy chỉnh Delphi - phát hiện va chạm
- 26. Mô phỏng n-mô phỏng va chạm 2D (phát hiện va chạm nhanh cho số lượng lớn quả bóng)
- 27. C++ namespace va chạm với gtest và thúc đẩy
- 28. Tạo các va chạm MD5 của riêng bạn
- 29. Phát hiện va chạm giữa các quả cầu tăng tốc
- 30. C# XNA: Tối ưu hóa việc phát hiện va chạm?
này có thể giúp: http://www.iforce2d.net/b2dtut/collision-anatomy – iforce2d