Difference between revisions of "B2.Fixture"
From GiderosMobile
Line 2: | Line 2: | ||
'''Supported platforms:''' android, ios, mac, pc<br/> | '''Supported platforms:''' android, ios, mac, pc<br/> | ||
'''Available since:''' Gideros 2011.6<br/> | '''Available since:''' Gideros 2011.6<br/> | ||
− | === Description === | + | === <translate>Description</translate> === |
<translate><br /> | <translate><br /> | ||
A fixture is used to attach a shape to a body for collision detection. A fixture inherits its<br /> | A fixture is used to attach a shape to a body for collision detection. A fixture inherits its<br /> | ||
Line 8: | Line 8: | ||
Fixtures are created via [[Special:MyLanguage/b2.Body:createFixture|b2.Body:createFixture]].<br /> | Fixtures are created via [[Special:MyLanguage/b2.Body:createFixture|b2.Body:createFixture]].<br /> | ||
<br /></translate> | <br /></translate> | ||
− | === Examples === | + | === <translate>Examples</translate> === |
'''Example of fixtures collision filtering'''<br/> | '''Example of fixtures collision filtering'''<br/> | ||
<source lang="lua">local BALL_MASK = 1 | <source lang="lua">local BALL_MASK = 1 | ||
Line 44: | Line 44: | ||
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === Methods === | + | === <translate>Methods</translate> === |
[[Special:MyLanguage/b2.Fixture:getBody|b2.Fixture:getBody]] ''<translate>returns the parent body of this fixture</translate>''<br/> | [[Special:MyLanguage/b2.Fixture:getBody|b2.Fixture:getBody]] ''<translate>returns the parent body of this fixture</translate>''<br/> | ||
[[Special:MyLanguage/b2.Fixture:getFilterData|b2.Fixture:getFilterData]] ''<translate>returns the contact filtering data</translate>''<br/> | [[Special:MyLanguage/b2.Fixture:getFilterData|b2.Fixture:getFilterData]] ''<translate>returns the contact filtering data</translate>''<br/> | ||
Line 51: | Line 51: | ||
[[Special:MyLanguage/b2.Fixture:setSensor|b2.Fixture:setSensor]] ''<translate>sets if this fixture is a sensor</translate>''<br/> | [[Special:MyLanguage/b2.Fixture:setSensor|b2.Fixture:setSensor]] ''<translate>sets if this fixture is a sensor</translate>''<br/> | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === Events === | + | === <translate>Events</translate> === |
− | === Constants === | + | === <translate>Constants</translate> === |
|} | |} |
Revision as of 07:30, 24 August 2018
Supported platforms: android, ios, mac, pc
Available since: Gideros 2011.6
Description
A fixture is used to attach a shape to a body for collision detection. A fixture inherits its
transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc.
Fixtures are created via b2.Body:createFixture.
Examples
Example of fixtures collision filtering
local BALL_MASK = 1
local CRATE_MASK = 2
local WALL_MASK = 4
-- ball
local body = world:createBody{type = b2.DYNAMIC_BODY}
local circle = b2.CircleShape.new(0, 0, radius)
local fixture = body:createFixture{shape = circle, density = 1.0,
friction = 0.1, restitution = 0.2}
-- ball will collide with other ball and wall
fixture:setFilterData({categoryBits = BALL_MASK, maskBits = BALL_MASK + WALL_MASK, groupIndex = 0})
local body = world:createBody{type = b2.DYNAMIC_BODY}
local poly = b2.PolygonShape.new()
poly:setAsBox(width, height)
local fixture = body:createFixture{shape = poly, density = 1.0,
friction = 0.1, restitution = 0.2}
-- crate will collide with other crate and wall
fixture:setFilterData({categoryBits = CRATE_MASK, maskBits = CRATE_MASK + WALL_MASK, groupIndex = 0})
local body = world:createBody{type = b2.STATIC_BODY}
local chain = b2.ChainShape.new()
chain:createLoop(
0,0,
application:getContentWidth(), 0,
application:getContentWidth(), application:getContentHeight(),
0, application:getContentHeight()
)
local fixture = body:createFixture{shape = chain, density = 1.0,
friction = 1, restitution = 0.3}
-- walls will collide with both balls and crates
fixture:setFilterData({categoryBits = WALL_MASK, maskBits = CRATE_MASK + BALL_MASK, groupIndex = 0})
Methodsb2.Fixture:getBody returns the parent body of this fixture |
EventsConstants |