2009-12-17 33 views

Trả lời

17

Giải pháp là điều chỉnh các thuộc tính frequencyHz và dampingRatio trong b2MouseJointDef của bạn.

Ví dụ:

b2MouseJointDef md; 
md.body1 = _groundBody; 
md.body2 = body; 
md.target = p; 
md.maxForce = 10000.0f * body->GetMass(); 
md.dampingRatio = 0; 
md.frequencyHz = 100; 
_world->CreateJoint(&md); 
1

Tôi đang cố gắng triển khai trò chơi kiểu pong trong thư viện Processing/Box2d và tôi dự đoán có cùng một vấn đề. Một điều cần lưu ý là duy trì một đối tượng ẩn trong thế giới Box2d, một đối tượng hoạt động với các khớp theo cách thông thường, và sau đó vẽ một đối tượng ảo theo sau chuột mà không bị trễ khung. Điều này có thể đủ để đánh lừa người dùng.

Mặt khác, Box2d không phải là một mô phỏng vật lý nghiêm ngặt và cho phép một số sự tha thứ trong các đối tượng trùng nhau, vì vậy nó thực sự có vẻ như cần phải có một cách để làm điều này.

+0

Xem câu trả lời của tôi cho giải pháp! – Ricibald

+0

Cảm ơn! Hoạt động hoàn hảo. Tôi đã tìm thấy một ví dụ về cách sử dụng mousejoint trong Xử lý tại đây: http://processing.org/discourse/yabb2/YaBB.pl?num=1213404906/30 và sửa đổi nó với đề xuất của bạn. –

+0

Tôi không thể bỏ phiếu cho câu trả lời của riêng mình! Hãy bình chọn nó để câu trả lời xuất hiện trên đầu! – Ricibald

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