Difference between revisions of "B2.WorldManifold"

From GiderosMobile
 
(13 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]]<br/>
+
[[normal]]<br/><!--GIDEROSCST:normal table-->
[[points]]<br/>
+
[[points]]<br/><!--GIDEROSCST:points table-->
 
|}
 
|}
 +
 +
----
 +
*'''[[LiquidFun]]'''

Latest revision as of 02:06, 1 December 2023

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