Fading Text Frame
This code will create a frame that can show text in the middle of the players screen. It will hold this text for 3 seconds and then fade it out. This is very similar to the code that blizzard uses for zone changing.
Snippet
MOD_TextFrame = CreateFrame("Frame"); MOD_TextFrame:ClearAllPoints(); MOD_TextFrame:SetHeight(300); MOD_TextFrame:SetWidth(300); MOD_TextFrame:SetScript("OnUpdate", MOD_TextFrame_OnUpdate); MOD_TextFrame:Hide(); MOD_TextFrame.text = MOD_TextFrame:CreateFontString(nil, "BACKGROUND", "PVPInfoTextFont"); MOD_TextFrame.text:SetAllPoints(); MOD_TextFrame:SetPoint("CENTER", 0, 200); MOD_TextFrameTime = 0; function MOD_TextFrame_OnUpdate() if (MOD_TextFrameTime < GetTime() - 3) then local alpha = MOD_TextFrame:GetAlpha(); if (alpha ~= 0) then MOD_TextFrame:SetAlpha(alpha - .05); end if (alpha == 0) then MOD_TextFrame:Hide(); end end end function MOD_TextMessage(message) MOD_TextFrame.text:SetText(message); MOD_TextFrame:SetAlpha(1); MOD_TextFrame:Show(); MOD_TextFrameTime = GetTime(); end
Posted by l3gsh0t at Tue, 08 Feb 2011 23:34:31 +0000