@Override public org.jbox2d.dynamics.joints.JointDef toJBox2d () { org.jbox2d.dynamics.joints.MouseJointDef jd = new org.jbox2d.dynamics.joints.MouseJointDef(); jd.bodyA = bodyA.body; jd.bodyB = bodyB.body; jd.collideConnected = collideConnected; jd.dampingRatio = dampingRatio; jd.frequencyHz = frequencyHz; jd.maxForce = maxForce; jd.target.set(target.x, target.y); jd.type = org.jbox2d.dynamics.joints.JointType.MOUSE; return jd; } }
MouseJoint wheelJoint; MouseJointDef mouseJointDef = new MouseJointDef(); mouseJointDef.bodyA = <something>; mouseJointDef.bodyB = wheelBody; mouseJointDef.target.set(0 + chosenWheelPositionOffsetX, 0 + chosenWheelPositionOffsetY); mouseJointDef.target.addLocal(wheelCenterX, wheelCenterY); mouseJointDef.dampingRatio = <chosen_value>; mouseJointDef.frequencyHz = <chosen_value>; mouseJointDef.maxForce = <chosen_value>; wheelJoint = (MouseJoint) mWorld.createJoint(mouseJointDef);
private void spawnMouseJoint(Vec2 p) { if (mouseJoint != null) { return; } queryAABB.lowerBound.set(p.x - .001f, p.y - .001f); queryAABB.upperBound.set(p.x + .001f, p.y + .001f); callback.point.set(p); callback.fixture = null; m_world.queryAABB(callback, queryAABB); if (callback.fixture != null) { Body body = callback.fixture.getBody(); MouseJointDef def = new MouseJointDef(); def.bodyA = groundBody; def.bodyB = body; def.collideConnected = true; def.target.set(p); def.maxForce = 1000f * body.getMass(); mouseJoint = (MouseJoint) m_world.createJoint(def); body.setAwake(true); } }
MouseJointDef def = new MouseJointDef(); def.bodyA = groundBody; def.bodyB = hitBody[pointer];
public MouseJoint createMouseJoint(AnimatedSprite box , float x, float y) { final Body boxBody = this.mPhysicsWorld.getPhysicsConnectorManager().findBodyByShape(box); Vector2 v = boxBody.getWorldPoint( new Vector2(x/pixelToMeteRatio, y/pixelToMeteRatio) ); MouseJointDef mjd = new MouseJointDef(); mjd.bodyA = groundBody; mjd.bodyB = boxBody; mjd.dampingRatio = 0.2f; mjd.frequencyHz = 30; mjd.maxForce = (float) (200.0f * boxBody.getMass()); mjd.collideConnected = true; mjd.target.set(v); return (MouseJoint) this.mPhysicsWorld.createJoint(mjd); }
MouseJointDef def = new MouseJointDef(); jd = def; def.dampingRatio = joint.getDampingRatio();
/** * Called for mouse-down * * @param p */ public void mouseDown(Vec2 p) { mouseWorld.set(p); if (mouseJoint != null) { return; } queryAABB.lowerBound.set(p.x - .001f, p.y - .001f); queryAABB.upperBound.set(p.x + .001f, p.y + .001f); callback.point.set(p); callback.fixture = null; m_world.queryAABB(callback, queryAABB); if (callback.fixture != null) { Body body = callback.fixture.getBody(); MouseJointDef def = new MouseJointDef(); def.bodyA = groundBody; def.bodyB = body; def.target.set(p); def.maxForce = 1000f * body.getMass(); mouseJoint = (MouseJoint) m_world.createJoint(def); body.setAwake(true); } }
MouseJointDef def = new MouseJointDef(); def.bodyA = groundBody; def.bodyB = hitBody[pointer];