Как изменить цвет текста, только на одном обьекте mimgui

Lenny Scripts

Активный
Автор темы
179
35
Версия MoonLoader
.026-beta
То есть изменить цвет текста mimgui, чтобы он не применялся автоматически ко всем другим текстам
 
Решение
То есть изменить цвет текста mimgui, чтобы он не применялся автоматически ко всем другим текстам
Lua:
imgui.Text('text')
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(1, 1, 1, 1))
imgui.Text('text')
imgui.PopStyleColor(1)
imgui.Text('text')

Либо:
Lua:
imgui.TextColored(imgui.ImVec4(1, 1, 1, 1), 'Text')

Rice.

Известный
Модератор
1,756
1,623
То есть изменить цвет текста mimgui, чтобы он не применялся автоматически ко всем другим текстам
Lua:
imgui.Text('text')
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(1, 1, 1, 1))
imgui.Text('text')
imgui.PopStyleColor(1)
imgui.Text('text')

Либо:
Lua:
imgui.TextColored(imgui.ImVec4(1, 1, 1, 1), 'Text')
 

Lenny Scripts

Активный
Автор темы
179
35
Lua:
imgui.Text('text')
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(1, 1, 1, 1))
imgui.Text('text')
imgui.PopStyleColor(1)
imgui.Text('text')

Либо:
Lua:
imgui.TextColored(imgui.ImVec4(1, 1, 1, 1), 'Text')
Хм, а как сделать, чтобы цвет менялся плавно с каждой секундой?
 

Rice.

Известный
Модератор
1,756
1,623
Хм, а как сделать, чтобы цвет менялся плавно с каждой секундой?
Lua:
local rainbow_r, rainbow_g, rainbow_b, rainbow_a = rainbow(1, 255)
imgui.TextColored(imgui.ImVec4(rainbow_r, rainbow_g, rainbow_b, rainbow_a), 'Text')
---------------------------------
function rainbow(speed, alpha)
  local r = math.floor(math.sin(os.clock() * speed) * 127 + 128)
  local g = math.floor(math.sin(os.clock() * speed + 2) * 127 + 128)
  local b = math.floor(math.sin(os.clock() * speed + 4) * 127 + 128)
  return r,g,b,alpha
end
 

Lenny Scripts

Активный
Автор темы
179
35
Lua:
local rainbow_r, rainbow_g, rainbow_b, rainbow_a = rainbow(1, 255)
imgui.TextColored(imgui.ImVec4(rainbow_r, rainbow_g, rainbow_b, rainbow_a), 'Text')
---------------------------------
function rainbow(speed, alpha)
  local r = math.floor(math.sin(os.clock() * speed) * 127 + 128)
  local g = math.floor(math.sin(os.clock() * speed + 2) * 127 + 128)
  local b = math.floor(math.sin(os.clock() * speed + 4) * 127 + 128)
  return r,g,b,alpha
end
Не меняет цвет, остается белым

1655118975978.png

1655119016529.png


Вроде все правильно сделал

Lua:
local rainbow_r, rainbow_g, rainbow_b, rainbow_a = rainbow(1, 255)
imgui.TextColored(imgui.ImVec4(rainbow_r, rainbow_g, rainbow_b, rainbow_a), 'Text')
---------------------------------
function rainbow(speed, alpha)
  local r = math.floor(math.sin(os.clock() * speed) * 127 + 128)
  local g = math.floor(math.sin(os.clock() * speed + 2) * 127 + 128)
  local b = math.floor(math.sin(os.clock() * speed + 4) * 127 + 128)
  return r,g,b,alpha
end
1655119104207.png
 

Rice.

Известный
Модератор
1,756
1,623
Вот так попробуй:

Lua:
local rainbow_r, rainbow_g, rainbow_b, rainbow_a = rainbow(1, 255)
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(rainbow_r, rainbow_g, rainbow_b, rainbow_a))
imgui.Text('text')
imgui.PopStyleColor(1)
 

Rice.

Известный
Модератор
1,756
1,623
Сорян, забыл поделить на 255.

Lua:
local rainbow_r, rainbow_g, rainbow_b, rainbow_a = rainbow(1, 255)
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(rainbow_r / 255, rainbow_g / 255, rainbow_b / 255, rainbow_a / 255))
imgui.Text('text')
imgui.PopStyleColor(1)
 
  • Влюблен
Реакции: Lenny Scripts