Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Как сделать так чтобы из блюра не вылазил текст?

  • Автор темы Автор темы Weksix
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Сен 2022
Сообщения
28
Реакции
3
Как сделать так чтобы из блюра не вылазил текст, а просто расширялся блюр ?
Что бы не было
1663748938844.png
такой штуки
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делаешь чтобы он был равен ширине текста
 
свой код скинь
Вот
Код:
Expand Collapse Copy
verdana = render.load_font("Verdana", 15)
local asdf = ui.create("afs", "sss")
local sliderx = asdf:slider("sliderx", 0, 1920,1010)
local slidery = asdf:slider("slidery", 0, 1080, 1060)
local Text = asdf:input("Text", "Text")
events.render:set(function()
local x = render.screen_size().x
local y = render.screen_size().y
local ns = Text:get()   
local text = ("%s"):format(ns)
size = render.measure_text(Default,text)
x = sliderx:get()
y = slidery:get()
render.rect(vector( x - size.x - 1,  y - size.y +2), vector( x + size.x + 50,  y + size.y  + 20 ), color(0,100), 0)
render.text(verdana, vector(x+9, y+2), color(255, 255, 255, 255),"",text)
end)
 
Вот
Код:
Expand Collapse Copy
verdana = render.load_font("Verdana", 15)
local asdf = ui.create("afs", "sss")
local sliderx = asdf:slider("sliderx", 0, 1920,1010)
local slidery = asdf:slider("slidery", 0, 1080, 1060)
local Text = asdf:input("Text", "Text")
events.render:set(function()
local x = render.screen_size().x
local y = render.screen_size().y
local ns = Text:get()  
local text = ("%s"):format(ns)
size = render.measure_text(Default,text)
x = sliderx:get()
y = slidery:get()
render.rect(vector( x - size.x - 1,  y - size.y +2), vector( x + size.x + 50,  y + size.y  + 20 ), color(0,100), 0)
render.text(verdana, vector(x+9, y+2), color(255, 255, 255, 255),"",text)
end)
Код:
Expand Collapse Copy
verdana = render.load_font("Verdana", 15)
local asdf = ui.create("afs", "sss")
local sliderx = asdf:slider("sliderx", 0, 1920,1010)
local slidery = asdf:slider("slidery", 0, 1080, 1060)
local Text = asdf:input("Text", "Text")
events.render:set(function()
    local x = render.screen_size().x
    local y = render.screen_size().y
    local ns = Text:get()   
    local text = ("%s"):format(ns)
    local size = render.measure_text(verdana, text)
    x = sliderx:get()
    y = slidery:get()
    render.rect(vector( x - size.x - 1,  y - size.y +2), vector( x + size.x + 50,  y + size.y  + 20 ), color(0,100), 0)
    render.text(verdana, vector(x+9, y+2), color(255, 255, 255, 255),"",text)
end)
 
Код:
Expand Collapse Copy
verdana = render.load_font("Verdana", 15)
local asdf = ui.create("afs", "sss")
local sliderx = asdf:slider("sliderx", 0, 1920,1010)
local slidery = asdf:slider("slidery", 0, 1080, 1060)
local Text = asdf:input("Text", "Text")
events.render:set(function()
    local x = render.screen_size().x
    local y = render.screen_size().y
    local ns = Text:get()  
    local text = ("%s"):format(ns)
    local size = render.measure_text(verdana, text)
    x = sliderx:get()
    y = slidery:get()
    render.rect(vector( x - size.x - 1,  y - size.y +2), vector( x + size.x + 50,  y + size.y  + 20 ), color(0,100), 0)
    render.text(verdana, vector(x+9, y+2), color(255, 255, 255, 255),"",text)
end)
Не робит
 
пофикси... логи ошибки имеются значит смотри эту строчку и думай что делать... если ошибки нету и нихуя не выходит смотри сурсы рендеров текста и подобной хуйни, саморазвивайся... (не в обиду)
 
пофикси... логи ошибки имеются значит смотри эту строчку и думай что делать... если ошибки нету и нихуя не выходит смотри сурсы рендеров текста и подобной хуйни, саморазвивайся... (не в обиду)
Не робит именно то что блюр должен расширяться, всё остальное как работало так и работает
 
size = render.measure_text(Default,text) поменяй на
size = render.measure_text(verdana, "", text)
ошибки нет, но геттекстсайзу вроде нужен флаг шрифта
 
Как сделать так чтобы из блюра не вылазил текст, а просто расширялся блюр ?
Что бы не было Посмотреть вложение 221732 такой штуки
Ребят, для этого в нл придумали ClipRect'ы или как я их называю "ножницы".
Source code::
Expand Collapse Copy
local font = render.load_font('Verdana', 15);
local screen = render.screen_size();

local group = ui.create 'Clip-Rect Test';

local box_x = group:slider('Box: X', 0, screen.x, 0);
local box_y = group:slider('Box: Y', 0, screen.x, 0);
local box_w = group:slider('Box: Width', 0, screen.x, 250);
local box_h = group:slider('Box: Height', 0, screen.x, 250);

local text_x = group:slider('Text: X', 0, screen.x, 0);
local text_y = group:slider('Text: Y', 0, screen.y, 0);

local input = group:input('Text: Input', 'Clip-Rect');

local function main()
  local box_position = vector(box_x:get(), box_y:get());
  local box_size = vector(box_w:get(), box_h:get());

  render.rect(box_position, box_position + box_size, color(17));
 
  local text = input:get();
  local text_position = vector(text_x:get(), text_y:get());

  render.push_clip_rect(box_position, box_position + box_size);
  render.text(font, text_position, color(255), '', text);
  render.pop_clip_rect();
end

events.render:set(main);

1664042230641.png

Если он хочет удлинить блюр по размеру текста то пусть юзает measure_text.

Source code::
Expand Collapse Copy
local font = render.load_font('Verdana', 15);
local screen = render.screen_size();

local group = ui.create 'Clip-Rect Test';

local box_x = group:slider('Box: X', 0, screen.x, 0);
local box_y = group:slider('Box: Y', 0, screen.x, 0);
local box_w = group:slider('Box: Width', 0, screen.x, 250);
local box_h = group:slider('Box: Height', 0, screen.x, 250);

local text_x = group:slider('Text: X', 0, screen.x, 0);
local text_y = group:slider('Text: Y', 0, screen.y, 0);

local input = group:input('Text: Input', 'Clip-Rect');

local function main()
  local text = input:get();
  local text_position = vector(text_x:get(), text_y:get());
  local text_measure = render.measure_text(font, '', text);

  local box_position = vector(box_x:get(), box_y:get());
  local box_size = vector(box_w:get(), box_h:get());

  local box_end = box_position + box_size;
  box_end.x = math.max(box_end.x, text_position.x + text_measure.x)

  render.rect(box_position, box_end, color(17));
 
  render.push_clip_rect(box_position, box_end);
  render.text(font, text_position, color(255), '', text);
  render.pop_clip_rect();
end

events.render:set(main);

1664042581011.png
 
Назад
Сверху Снизу