Difference between revisions of "B2.WorldManifold"

From GiderosMobile
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
<!-- GIDEROSOBJ:b2.WorldManifold -->
 
'''<translate>Supported platforms</translate>:''' <br/>
 
'''<translate>Supported platforms</translate>:''' <br/>
 
'''<translate>Available since</translate>:''' Gideros 2012.09.6<br/>
 
'''<translate>Available since</translate>:''' Gideros 2012.09.6<br/>
Line 42: Line 43:
 
=== <translate>Events</translate> ===
 
=== <translate>Events</translate> ===
 
=== <translate>Constants</translate> ===
 
=== <translate>Constants</translate> ===
[[Special:MyLanguage/normal|normal]]<br/>
+
[[Special:MyLanguage/normal|normal]]<br/><!-- GIDEROSCST:normal -->
[[Special:MyLanguage/points|points]]<br/>
+
[[Special:MyLanguage/points|points]]<br/><!-- GIDEROSCST:points -->
 
|}
 
|}

Revision as of 14:56, 31 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