Difference between revisions of "B2.WorldManifold"
From GiderosMobile
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | '''Supported platforms:''' <br/> | + | <!-- GIDEROSOBJ:b2.WorldManifold --> |
+ | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/> | ||
'''Available since:''' Gideros 2012.09.6<br/> | '''Available since:''' Gideros 2012.09.6<br/> | ||
+ | |||
=== Description === | === Description === | ||
− | Contains information about contact relative to the world | + | Contains information about contact relative to the world. |
− | + | ||
− | + | === Examples === | |
− | + | '''Checking collisions from bottom using b2.Contact''' | |
− | + | <syntaxhighlight lang="lua"> | |
+ | local isTouchingGround = false | ||
+ | world:addEventListener(Event.BEGIN_CONTACT, function(e) | ||
+ | local manifold = e.contact:getWorldManifold() | ||
+ | if manifold.normal.y > 0.9 then | ||
+ | --collision came from bottom | ||
+ | isTouchingGround = true | ||
+ | end | ||
+ | end) | ||
+ | |||
+ | world:addEventListener(Event.END_CONTACT, function(e) | ||
+ | local manifold = e.contact:getWorldManifold() | ||
+ | if manifold.normal.y < 0.1 then | ||
+ | --collision ended from bottom | ||
+ | isTouchingGround = false | ||
+ | end | ||
+ | end) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Example content of b2.WorldManifold''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | [normal] => Table { | ||
+ | { | ||
+ | [y] => -1 | ||
+ | [x] => 0 | ||
+ | } | ||
+ | [points] => Table { | ||
+ | { | ||
+ | [1] => Table { | ||
+ | { | ||
+ | [y] => 319.92502212524 | ||
+ | [x] => 99.999997615814 | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
{|- | {|- | ||
− | | style="width: 50%;"| | + | | style="width: 50%; vertical-align:top;"| |
=== Methods === | === Methods === | ||
− | | style="width: 50%;"| | + | |
+ | | style="width: 50%; vertical-align:top;"| | ||
=== Events === | === Events === | ||
=== Constants === | === Constants === | ||
− | [[normal]] | + | [[normal]]<br/><!--GIDEROSCST:normal table--> |
− | [[points]] | + | [[points]]<br/><!--GIDEROSCST:points table--> |
|} | |} | ||
+ | |||
+ | ---- | ||
+ | *'''[[LiquidFun]]''' |
Latest revision as of 02:06, 1 December 2023
Supported platforms:
Available since: Gideros 2012.09.6
Description
Contains information about contact relative to the world.
Examples
Checking collisions from bottom using b2.Contact
local isTouchingGround = false
world:addEventListener(Event.BEGIN_CONTACT, function(e)
local manifold = e.contact:getWorldManifold()
if manifold.normal.y > 0.9 then
--collision came from bottom
isTouchingGround = true
end
end)
world:addEventListener(Event.END_CONTACT, function(e)
local manifold = e.contact:getWorldManifold()
if manifold.normal.y < 0.1 then
--collision ended from bottom
isTouchingGround = false
end
end)
Example content of b2.WorldManifold
[normal] => Table {
{
[y] => -1
[x] => 0
}
[points] => Table {
{
[1] => Table {
{
[y] => 319.92502212524
[x] => 99.999997615814
}
}
Methods |
EventsConstants |