Difference between revisions of "R3d.World:testOverlap"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2019.10<br/> '''Class:''' R3d.World<br/> === Description === Checks if two bodies overlap. <source lang="lua"> (bool) = r3d.Worl...")
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
 
'''Available since:''' Gideros 2019.10<br/>
 
'''Available since:''' Gideros 2019.10<br/>
 
'''Class:''' [[R3d.World]]<br/>
 
'''Class:''' [[R3d.World]]<br/>
  
 
=== Description ===
 
=== Description ===
Checks if two bodies overlap.
+
World Query Collider. Checks if the colliders of two bodies overlap.
<source lang="lua">
+
<syntaxhighlight lang="lua">
(bool) = r3d.World:testOverlap(bodyA, bodyB)
+
(bool) = r3d.World:testOverlap(bodyA,bodyB)
</source>
+
</syntaxhighlight>
 +
 
 +
A world query collider is a collider used to perform world queries on it. World queries are manual queries performed on the physics world.
 +
 
 +
You can use this if you just want to know if bodies are colliding but your are not interested in the contact information.
  
 
=== Parameters ===
 
=== Parameters ===
Line 17: Line 20:
 
'''Returns''' (boolean) either true or false<br/>
 
'''Returns''' (boolean) either true or false<br/>
  
=== Example ===
+
=== Examples ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
local c = 1
 
local c = 1
 
function collisionsEventListener()
 
function collisionsEventListener()
Line 27: Line 30:
 
end
 
end
 
world:setEventListener(collisionsEventListener)
 
world:setEventListener(collisionsEventListener)
</source>
+
</syntaxhighlight>
 +
 
 +
'''Or'''
 +
<syntaxhighlight lang="lua">
 +
stage:addEventListener(Event.ENTER_FRAME, function(e)
 +
world:step(e.deltaTime)
 +
local bool = world:testOverlap(player1.body, obj01.body)
 +
print(bool)
 +
end
 +
</syntaxhighlight>
  
 
{{R3d.World}}
 
{{R3d.World}}

Latest revision as of 21:40, 16 December 2025

Available since: Gideros 2019.10
Class: R3d.World

Description

World Query Collider. Checks if the colliders of two bodies overlap.

(bool) = r3d.World:testOverlap(bodyA,bodyB)

A world query collider is a collider used to perform world queries on it. World queries are manual queries performed on the physics world.

You can use this if you just want to know if bodies are colliding but your are not interested in the contact information.

Parameters

bodyA: (body) the first body to test collisions with
bodyB: (body) the second body to test collisions with

Return values

Returns (boolean) either true or false

Examples

local c = 1
function collisionsEventListener()
	if world:testOverlap(shipvp.body, ground01body) then
		print("collision", c)
		c += 1
	end
end
world:setEventListener(collisionsEventListener)

Or

stage:addEventListener(Event.ENTER_FRAME, function(e)
	world:step(e.deltaTime)
	local bool = world:testOverlap(player1.body, obj01.body)
	print(bool)
end