B2.MouseJoint

From GiderosMobile
Revision as of 18:00, 12 July 2023 by Hgy29 (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")


Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: b2.Joint

Description

A mouse joint is used to make a point on a body track a specified world point. This is a soft constraint with a maximum force. This allows the constraint to stretch without applying huge forces.

Examples

Mouse joint <syntaxhighlight lang="lua"> --create empty box2d body for joint local ground = world:createBody({})

--joint with dummy body local mouseJoint = nil

-- create a mouse joint on mouse down function self:onMouseDown(event) local jointDef = b2.createMouseJointDef(ground, body, event.x, event.y, 100000) mouseJoint = world:createJoint(jointDef) end

-- update the target of mouse joint on mouse move function self:onMouseMove(event) if mouseJoint ~= nil then mouseJoint:setTarget(event.x, event.y) end end

-- destroy the mouse joint on mouse up function self:onMouseUp(event) if mouseJoint ~= nil then world:destroyJoint(mouseJoint) mouseJoint = nil end end </source>

Methods

b2.MouseJoint:getDampingRatio returns the damping ratio
b2.MouseJoint:getFrequency returns the response frequency in Hertz
b2.MouseJoint:getMaxForce returns the maximum force in N
b2.MouseJoint:getTarget returns the x and y coordinates of the target point
b2.MouseJoint:setDampingRatio sets the damping ratio (0 = no damping, 1 = critical damping)
b2.MouseJoint:setFrequency sets the response frequency in Hertz
b2.MouseJoint:setMaxForce sets the maximum force in N
b2.MouseJoint:setTarget updates the target point

Events

Constants