- Версия MoonLoader
- Другое
Как мне можно уменьшить до 0 прозрачность во втором цвете?
как я пытаюсь зарендерить:
gradient_box(125, 500 - 950, 140, 20, 0xff212121, 0xff212121)
градиент:
как я пытаюсь зарендерить:
gradient_box(125, 500 - 950, 140, 20, 0xff212121, 0xff212121)
градиент:
Lua:
function join_argb(a, r, g, b)
local argb = b -- b
argb = bit.bor(argb, bit.lshift(g, 8)) -- g
argb = bit.bor(argb, bit.lshift(r, 16)) -- r
argb = bit.bor(argb, bit.lshift(a, 24)) -- a
return argb
end
function explode_argb(argb)
local a = bit.band(bit.rshift(argb, 24), 0xFF)
local r = bit.band(bit.rshift(argb, 16), 0xFF)
local g = bit.band(bit.rshift(argb, 8), 0xFF)
local b = bit.band(argb, 0xFF)
return a, r, g, b
end
--[[
@params:
* from от какого цвета(в HEX)
* to до какого цвета(в HEX)
* vertical true = сверху вниз
]]
function gradient_box(x, y, w, h, from, to, vertical)
renderDrawBox(x, y, w, h, from)
local a, r, g, b = explode_argb(to)
local w_h = vertical and h or w
for i = 0, w_h do
local a = (i / w_h) * 255
if vertical then
renderDrawBox(x, y + i, w, 1, join_argb(a, r, g, b))
else
renderDrawBox(x + i, y, 1, h, join_argb(a, r, g, b))
end
end
end
Последнее редактирование: