2012-06-16 40 views
12

Làm thế nào để phát hiện nếu cơ thể va chạm với cơ thể khác nhưng không phản ứng trên va chạm này.Làm thế nào để phát hiện va chạm nhưng không va chạm trong box2d?

Bằng cách mặc định i - phát hiện va chạm và thân thể va chạm.

Nếu tôi đặt lịch thi đấuDef filter - body không va chạm nhưng tôi không thể phát hiện va chạm.

Trợ giúp xin vui lòng!

+3

Hãy thử đọc thêm về cảm biến http://www.box2d.org/manual.html – Cyclonecode

Trả lời

18

Nếu vật cố không bao giờ cần va chạm với bất kỳ thứ gì bạn có thể biến nó thành cảm biến. Nếu bạn cần nó để va chạm với một số thứ nhưng không phải là những thứ khác, bạn có thể liên hệ-> SetEnabled (false) trong PreSolve của trình nghe va chạm, tùy thuộc vào những gì nó va chạm với nó.

+0

Phụ lục: thay vì sử dụng PreSolve, bạn cũng có thể sử dụng mặt nạ va chạm và/hoặc nhóm va chạm để kiểm soát những gì lịch thi đấu nên và không nên va chạm với. – Thomas

+0

Anh ta vẫn muốn phát hiện khi va chạm xảy ra, anh ta không muốn bất kỳ phản ứng va chạm nào. Thay đổi mặt nạ va chạm sẽ ngăn chặn hoàn toàn phát hiện xung đột. – iforce2d

+0

Đúng. Điều này cần phải được kết hợp với các thiết bị cảm biến. – Thomas

8

Điều bạn muốn ở đây là bộ phận cảm biến trên thân máy. Từ hướng dẫn sử dụng box2d:

Đôi khi logic trò chơi cần biết khi hai đồ đạc chồng lên nhau nhưng không có phản ứng va chạm. Điều này được thực hiện bằng cách sử dụng cảm biến. Một cảm biến là một vật cố định phát hiện va chạm nhưng không tạo ra phản ứng.

Bạn có thể gắn cờ bất kỳ vật cố nào làm cảm biến. Cảm biến có thể tĩnh hoặc động. Hãy nhớ rằng bạn có thể có nhiều đồ đạc cho mỗi cơ thể và bạn có thể có bất kỳ kết hợp của cảm biến và đồ đạc vững chắc.

Cảm biến không tạo điểm tiếp xúc. Có hai cách để có được tình trạng một bộ cảm biến:

  1. b2Contact :: IsTouching
  2. b2ContactListener :: BeginContact và EndContact

Bạn có thể đặt một vật cố như một bộ cảm biến và sau đó viết nó vào người nghe liên lạc của bạn. Nếu một vật cố định có cờ cảm biến được đặt thành true, nó sẽ cung cấp dữ liệu va chạm mà không mô phỏng vật lý va chạm (tức là sẽ cho phép bạn kiểm tra chồng lên nhau giữa bất kỳ vật cố va chạm nào khác.)

Đây là hướng dẫn hữu ích về cách để bắt đầu sử dụng cảm biến Ray Wenderlich sensor tutorial

Các vấn đề liên quan