Difference between revisions of "Math.distance"

From GiderosMobile
(added example)
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Returns the distance betwen two points.
 
Returns the distance betwen two points.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
(number) = math.distance(x1,y1,z1,x2,y2,z2)
 
(number) = math.distance(x1,y1,z1,x2,y2,z2)
 
(number) = math.distance({x1,y1,z1},{x2,y2,z2})
 
(number) = math.distance({x1,y1,z1},{x2,y2,z2})
 
(number) = math.distance({x=x1,y=y1,z=z1},{x=x2,y=y2,z=z2})
 
(number) = math.distance({x=x1,y=y1,z=z1},{x=x2,y=y2,z=z2})
</source>
+
</syntaxhighlight>
 +
 
 +
'''Note''': the number will always be a positive number
  
 
=== Parameters ===
 
=== Parameters ===
Line 20: Line 22:
  
 
=== Return values ===
 
=== Return values ===
'''Returns''' (number) the distance between the two points<br/>
+
'''Returns''' (number) the distance between the two points (always positive)<br/>
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
local mydist = 256
 
local mydist = 256
 
function LevelX:onEnterFrame(e)
 
function LevelX:onEnterFrame(e)
Line 38: Line 40:
 
end
 
end
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{{Math}}
 
{{Math}}

Latest revision as of 15:30, 13 July 2023

Available since: Gideros 2020.9
Class: math

Description

Returns the distance betwen two points.

(number) = math.distance(x1,y1,z1,x2,y2,z2)
(number) = math.distance({x1,y1,z1},{x2,y2,z2})
(number) = math.distance({x=x1,y=y1,z=z1},{x=x2,y=y2,z=z2})

Note: the number will always be a positive number

Parameters

x1: (number) X component of the first point
y1: (number) Y component of the first point
z1: (number) Z component of the first point optional
x2: (number) X component of the second point
y2: (number) Y component of the second point
z2: (number) Z component of the second point optional

Return values

Returns (number) the distance between the two points (always positive)

Example

local mydist = 256
function LevelX:onEnterFrame(e)
	-- player position
	posx, posy = self.player1.body:getPosition()
	-- for perfs
	for k, v in pairs(self.myobjects) do -- k=sprite, v=box2d body
		local x1, y1 = v:getPosition()
		if math.distance(x1, y1, posx, posy) > mydist then
			k:setVisible(false)
		else
			k:setVisible(true)
		end
	end
end