Difference between revisions of "B2.WorldManifold"

From GiderosMobile
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<!-- GIDEROSOBJ:b2.WorldManifold -->
 
<!-- GIDEROSOBJ:b2.WorldManifold -->
'''<translate>Supported platforms</translate>:''' <br/>
+
'''<translate>Supported platforms</translate>:''' [[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/>
 
'''<translate>Available since</translate>:''' Gideros 2012.09.6<br/>
 
'''<translate>Available since</translate>:''' Gideros 2012.09.6<br/>
 
=== <translate>Description</translate> ===
 
=== <translate>Description</translate> ===

Revision as of 17:43, 31 August 2018

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
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