Make transparent elements untargetable

This commit is contained in:
PeaAshMeter 2025-11-08 01:27:43 +03:00
parent eb45ffade4
commit f32393b978

View File

@ -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