- 4,771
- 5,376
Описание: Позволяет установить угол картинке
Пример использования: Вертим бх! (Скачал лого бх, пример в файле)
Original: https://github.com/ocornut/imgui/issues/1982#issuecomment-408834301
Video:
При участии @Lil Xean (https://vk.com/xeaan) - наброски луа с плюсов, основной код окна в видео, респект этому человеку!
Lua:
function ImRotate(v, cos_a, sin_a) return imgui.ImVec2(v.x * cos_a - v.y * sin_a, v.x * sin_a + v.y * cos_a); end
function calcAddImVec2(l, r) return imgui.ImVec2(l.x + r.x, l.y + r.y) end
function ImageRotated(tex_id, center, size, angle, color)
local color = color or 0xFFFFFFFF
local drawlist = imgui.GetWindowDrawList()
local cos_a = math.cos(angle)
local sin_a = math.sin(angle)
local pos = {
calcAddImVec2(center, ImRotate(imgui.ImVec2(-size.x * 0.5, -size.y * 0.5), cos_a, sin_a)),
calcAddImVec2(center, ImRotate(imgui.ImVec2(size.x * 0.5, -size.y * 0.5), cos_a, sin_a)),
calcAddImVec2(center, ImRotate(imgui.ImVec2(size.x * 0.5, size.y * 0.5), cos_a, sin_a)),
calcAddImVec2(center, ImRotate(imgui.ImVec2(-size.x * 0.5, size.y * 0.5), cos_a, sin_a))
}
local uvs =
{
imgui.ImVec2(0.0, 0.0),
imgui.ImVec2(1.0, 0.0),
imgui.ImVec2(1.0, 1.0),
imgui.ImVec2(0.0, 1.0)
}
drawlist:AddImageQuad(tex_id, pos[1], pos[2], pos[3], pos[4], uvs[1], uvs[2], uvs[3], uvs[4], color)
end
Lua:
local angle = -os.clock() * 5.0
ImageRotated(imageBH, imgui.ImVec2(p.x + 368.0, p.y + 196.0), imgui.ImVec2(100, 100), -angle, 0x20FFFFFF)
Video:
При участии @Lil Xean (https://vk.com/xeaan) - наброски луа с плюсов, основной код окна в видео, респект этому человеку!
Вложения
Последнее редактирование: