Сообщение от
Darveim Hleran
не знаю где спросить, нужно тему по идее отдельную для вопросов подобного рода, ну да простят за оффтоп великие сего раздела.
есть код крохотный
PHP код:
local test = ({ChatFrame1EditBox:GetRegions()})
test [1]:SetFont(font, 15, "OUTLINE")
test [1]:SetShadowOffset(0, 0)
test [1]:ClearAllPoints()
test [1]:SetPoint("LEFT", frame, "RIGHT", 0, 2)
собственно не могу двигать данную часть эдитбокса, привязывю его к фрейму заранее сделанному, да к чему угодно, он координаты по х и по у не меняет никак, вот и вопрос, как реализовать это, чтобы часть сообщения после "Сказать: какой-то текст" можно было подвинуть. часть эдитбокса "сказать:" регулируется test[12], а test[1], то что после двоеточия никак не двигается. фрейм ниже первого на несколько пунктов, смотрится некрасиво, вот так.
Ну само собой ... Для начала , что возвращает строчка ChatFrame1EditBox:GetRegions() ? Возвращает она 12 регионов.
Наиболее логично в такой ситуации найти нужный регион и по его номеру делать select(n, ChatFrame1EditBox:GetRegions()) А если и решил забить массив регионами этой фреймы , тогда ты делаешь фигню (как по мне)
PHP код:
local test = {}
for n = 1, ChatFrame1EditBox:GetNumRegions() do
local region = select(n, ChatFrame1EditBox:GetRegions())
test[n] = region
end
Но и это еще не все Cам способ не верен
- - - Updated - - -
Думаю разберешься дальше ...
PHP код:
local function Kill(obj)
if obj.UnregisterAllEvents then
obj:UnregisterAllEvents();
end
obj.Show = function() end
obj:Hide();
end
local function StyleFrame(frame)
if frame.IsSkinned then return end
local ID = frame:GetID()
local FrameName = frame:GetName()
local Tab = _G[FrameName.."Tab"]
local TabText = _G[FrameName.."TabText"]
local EditBox = _G[FrameName.."EditBox"]
if Tab.conversationIcon then
Kill(Tab.conversationIcon)
end
if Tab.glow then
Tab.glow:ClearAllPoints()
Tab.glow:SetWidth(60)
Tab.glow:SetPoint("BOTTOM", Tab, 0, -1)
end
Tab:HookScript("OnClick", function()
EditBox:Hide()
end)
frame:SetFrameStrata("MEDIUM")
frame:SetClampRectInsets(0, 0, 0, 0)
frame:SetClampedToScreen(false)
EditBox:ClearAllPoints()
EditBox:SetPoint("CENTER", UIParent)
EditBox:SetFont(ChatFontNormal:GetFont())
EditBox.header:SetFont(ChatFontNormal:GetFont())
EditBox:SetAltArrowKeyMode(false)
EditBox:Hide()
EditBox:HookScript("OnEditFocusLost", function(self)
self:Hide()
end)
for i = 1, #CHAT_FRAME_TEXTURES do
_G[FrameName..CHAT_FRAME_TEXTURES[i]]:SetTexture(nil)
end
Kill(_G[format("ChatFrame%sTabLeft", ID)])
Kill(_G[format("ChatFrame%sTabMiddle", ID)])
Kill(_G[format("ChatFrame%sTabRight", ID)])
Kill(_G[format("ChatFrame%sTabSelectedLeft", ID)])
Kill(_G[format("ChatFrame%sTabSelectedMiddle", ID)])
Kill(_G[format("ChatFrame%sTabSelectedRight", ID)])
Kill(_G[format("ChatFrame%sTabHighlightLeft", ID)])
Kill(_G[format("ChatFrame%sTabHighlightMiddle", ID)])
Kill(_G[format("ChatFrame%sTabHighlightRight", ID)])
Kill(_G[format("ChatFrame%sTabSelectedLeft", ID)])
Kill(_G[format("ChatFrame%sTabSelectedMiddle", ID)])
_G[format("ChatFrame%sTabSelectedRight", ID)]:Kill()
Kill(_G[format("ChatFrame%sButtonFrameUpButton", ID)])
Kill(_G[format("ChatFrame%sButtonFrameDownButton", ID)])
Kill(_G[format("ChatFrame%sButtonFrameBottomButton", ID)])
Kill(_G[format("ChatFrame%sButtonFrameMinimizeButton", ID)])
Kill(_G[format("ChatFrame%sButtonFrame", ID)])
Kill(_G[format("ChatFrame%sEditBoxFocusLeft", ID)])
Kill(_G[format("ChatFrame%sEditBoxFocusMid", ID)])
Kill(_G[format("ChatFrame%sEditBoxFocusRight", ID)])
local A, B, C = select(6, EditBox:GetRegions())
Kill(A)
Kill(B)
Kill(C)
frame.IsSkinned = true
end
StyleFrame(ChatFrame1)