Sprite:hitTestPoint

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Available since: Gideros 2011.6
Class: Sprite

Description

Checks whether the given coordinates (in global coordinate system) is in bounds of the sprite.

(bool) = Sprite:hitTestPoint(x,y,visible,ref)

Parameters

x: (number) the x coordinate to test
y: (number) the y coordinate to test
visible: (bool) hit test only for visible sprite (clipping/masking) optional, default = false
ref: (Sprite) specifies which sprite is the reference of x,y coordinates. If nil global coordinates are assumed optional, default = nil, new Gideros 2023.2

Return values

Returns (bool) true if the given global coordinates are in bounds of the sprite, false otherwise

Example

Moves a pixel with the mouse

local pixel = Pixel.new(0xff0000, 1, 32, 32)
local x0, y0, focus
pixel:addEventListener(Event.MOUSE_DOWN, function(e)
	if pixel:hitTestPoint(e.x, e.y) then
		focus = true
		x0, y0 = e.x, e.y
		e:stopPropagation()
	end
end)
pixel:addEventListener(Event.MOUSE_MOVE, function(e)
	if focus then
		local dx = e.x - x0
		local dy = e.y - y0
		pixel:setX(self.camera:getX() + dx)
		pixel:setY(self.camera:getY() + dy)
		x0 = e.x
		y0 = e.y
		e:stopPropagation()
	end
end)
pixel:addEventListener(Event.MOUSE_UP, function(e)
	if focus then
		focus = false
		e:stopPropagation()
	end
end)