2009-12-17 15 views

risposta

17

La soluzione è di ottimizzare le proprietà frequencyHz e dampingRatio nel b2MouseJointDef.

Ad esempio:

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

Sto cercando di implementare un gioco in stile pong nella libreria Processing/Box2d e prevedo di avere lo stesso problema. Una cosa che viene in mente è di mantenere un oggetto nascosto nel mondo di Box2d, uno che funziona con le giunture in modo convenzionale, e quindi disegnare un oggetto virtuale che segue il mouse senza alcun ritardo di fotogramma. Questo potrebbe essere adeguato per ingannare l'utente.

D'altra parte, Box2d non è una simulazione fisica rigorosa e consente un po 'di perdono in oggetti sovrapposti, quindi sembra davvero che ci dovrebbe essere un modo per farlo.

+0

Vedere la mia risposta per la soluzione! – Ricibald

+0

Grazie! Funziona perfettamente. Ho trovato un esempio di utilizzo del mousejoint in Processing qui: http://processing.org/discourse/yabb2/YaBB.pl?num=1213404906/30 e l'ho modificato con il tuo suggerimento. –

+0

Non posso votare la mia risposta! Per favore votalo in modo che la risposta appaia in cima! – Ricibald