Make transparent elements untargetable
This commit is contained in:
parent
eb45ffade4
commit
f32393b978
@ -3,7 +3,6 @@ local Rect = require "lib.simple_ui.rect"
|
|||||||
--- @class UIElement
|
--- @class UIElement
|
||||||
--- @field bounds Rect Прямоугольник, в границах которого размещается элемент. Размеры и положение в *локальных* координатах
|
--- @field bounds Rect Прямоугольник, в границах которого размещается элемент. Размеры и положение в *локальных* координатах
|
||||||
--- @field transform love.Transform Преобразование из локальных координат элемента (bounds) в экранные координаты
|
--- @field transform love.Transform Преобразование из локальных координат элемента (bounds) в экранные координаты
|
||||||
---
|
|
||||||
local uiElement = {}
|
local uiElement = {}
|
||||||
uiElement.__index = uiElement
|
uiElement.__index = uiElement
|
||||||
|
|
||||||
@ -12,6 +11,8 @@ function uiElement:update(dt) end
|
|||||||
function uiElement:draw() end
|
function uiElement:draw() end
|
||||||
|
|
||||||
function uiElement:hitTest(screenX, screenY)
|
function uiElement:hitTest(screenX, screenY)
|
||||||
|
local r, g, b, a = love.graphics.getColor()
|
||||||
|
if a == 0 then return false end
|
||||||
local lx, ly = self.transform:inverseTransformPoint(screenX, screenY)
|
local lx, ly = self.transform:inverseTransformPoint(screenX, screenY)
|
||||||
return self.bounds:hasPoint(lx, ly)
|
return self.bounds:hasPoint(lx, ly)
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user