-
Автор темы
- #1
Здраствуйте, как реализовать уведомления по центру экрана, я сам не знаю как это сделать, пытался но все равно не ровно
code_language.lua:
local notif = notifications_c.data[i]
local data = {time = 3, size = 2, glow = 8}
if notif.time + data.time - globals.curtime > 0 then
notif.fraction = vector_c:clamp(notif.fraction + globals.frametime / notifications_c.anim_time, 0, 1)
else
notif.fraction = vector_c:clamp(notif.fraction - globals.frametime / notifications_c.anim_time, 0, 1)
end
if notif.fraction <= 0 and notif.time + data.time - globals.curtime <= 0 then
table.insert(to_remove, i)
end
local fraction = vector_c:easeInOut(notif.fraction)
local screen = {render.screen_size().x, render.screen_size().y}
local paddingx, paddingy = 7, data.size
offset = offset + (paddingy * 1 * 15) * fraction
local c = render.measure_text(1, nil, "Ambiem -> " .. notif.string).x
local m = {math.floor(render.measure_text(1, nil, "Ambiem "..notif.string).x*1.03),math.floor(render.measure_text(1, nil, "Ambiem "..notif.string).y*1.03)}
local n = {render.measure_text(1, nil, "Ambiem ").x,render.measure_text(1, nil, "Ambiem ").y}
local o = {render.measure_text(1, nil, notif.string).x,render.measure_text(1, nil, notif.string).y}
local p = {screen[1] / 2-m[1]/2+3, screen[2] - screen[2] / 100 * 14.2 - offset}
local c1,c2,c3,c4 = 161, 172, 195, 255
render.shadow(vector(p[1]+m[1]+1,p[2]+2), vector(p[1]+m[1]+5, p[2]+21), color(c1,c2,c3,255*fraction), 15*fraction, 1, 2)
render.blur(vector(p[1]+m[1]+1,p[2]+2), vector(p[1]+m[1]+5, p[2]+23), 1, 50*fraction, 2)
render.rect_outline(vector(p[1]+c,p[2]+2), vector(p[1]+m[1]+5, p[2]+23), color(c1,c2,c3,255*fraction), 1, 2, true)
render.text(1, vector(p[1]+m[1]/2-o[1]/2-2,p[2] + 11), color(c1,c2,c3,255*fraction), "c", "Ambiem")
render.text(1, vector(p[1]+m[1]/2+n[1]/2-2,p[2] + 11), color(255,255,255,255*fraction), "c", " -> " .. notif.string)