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

Events

Constants

normal
points