Difference between revisions of "B2.WorldManifold"
From GiderosMobile
Line 4: | Line 4: | ||
=== 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'''<br/> | ||
+ | <source 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)</source> | ||
+ | '''Example content of b2.WorldManifold'''<br/> | ||
+ | <source lang="lua">[normal] => Table { | ||
+ | { | ||
+ | [y] => -1 | ||
+ | [x] => 0 | ||
+ | } | ||
+ | [points] => Table { | ||
+ | { | ||
+ | [1] => Table { | ||
+ | { | ||
+ | [y] => 319.92502212524 | ||
+ | [x] => 99.999997615814 | ||
+ | } | ||
+ | }</source> | ||
{|- | {|- | ||
| style="width: 50%;"| | | style="width: 50%;"| |
Revision as of 10:46, 23 August 2018
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 |