GuiGetAlpha: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
Line 15: Line 15:


==Example==  
==Example==  
This example provides a ''fadeElement'' function, which fades roughly over a period of 4 seconds.  The user may fade in or fade out an element
This example provides a ''guiFade'' function, which allows you to fade in/out a GUI.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function fadeElement ( guiElement, state )
function guiFade( gui, state )
if state == "out" then --if the user specifies he wants to fade out an element
if state == "in" then -- This state will fade IN the GUI
local currentAlpha = guiGetAlpha ( guiElement )--get the current alpha
fadeIn = setTimer(guiFade, 50, 1, gui, state) -- We loop the function to make it lower the alpha each 50 ms
local newAlpha = currentAlpha - 0.4 --set the alpha to 4 less (more transparent)
alpha = guiGetAlpha(gui) -- We get the GUI's actual alpha after each loop
--ensure that the alpha is not below 0, if it is, set it to 0
guiSetAlpha(gui, alpha - 0.1) -- We set the GUI's actual alpha after each loop
if newAlpha < 0 then newAlpha = 0 end
if alpha == 0 then -- If the loop reached "0"...
--set the new alpha
killTimer(fadeIn) -- ... We kill the timer
guiSetAlpha ( guiElement, newAlpha )
fadeIn = nil -- And to make sure it doesn't exist anymore, we set it to nil
--if the new alpha is not completely invisible already
if newAlpha ~= 0 then
--call this function to fade out some more 50ms later
setTimer ( fadeElement, 50, 1, guiElement, state )
end
end
elseif state == "in" then --else, if the user specifies he wants to fade out an element
elseif state == "out" then -- This state will fade OUT the GUI
local currentAlpha = guiGetAlpha ( guiElement )--get the current alpha
fadeOut = setTimer(guiFade, 50, 1, gui, state) -- We loop the function to make it higher the alpha each 50 ms
local newAlpha = currentAlpha + 0.4 --set the alpha to 4 more(less transparent)
alpha = guiGetAlpha(gui) -- We get the GUI's actual alpha after each loop
--ensure that the alpha is not above 255, if it is, set it to 255
guiSetAlpha(gui, alpha + 0.1) -- We set the GUI's actual alpha after each loop
if newAlpha > 1 then newAlpha = 1 end
if alpha == 1 then -- If the loop reached "1"...
--set the new alpha
killTimer(fadeOut) -- ... We kill the timer
guiSetAlpha ( guiElement, newAlpha )
fadeOut = nil -- And to make sure it doesn't exist anymore, we set it to nil
--if the new alpha is not completely opaque already
if newAlpha ~= 1 then
--call this function to fade in some more 50ms later
setTimer ( fadeElement, 50, 1, guiElement, state )
end
end
end
end

Revision as of 13:38, 26 December 2012

Alpha represents the transparency of a gui element. This function allows retrieval of a gui element's current alpha.

Syntax

float guiGetAlpha ( element guiElement )

Required Arguments

  • guiElement: The gui element in which you want to retrieve the alpha of.

Returns

This function returns a positive integer in between 0 and 1 of the gui element's current alpha, or false if it could not be retrieved.

Example

This example provides a guiFade function, which allows you to fade in/out a GUI.

function guiFade( gui, state )
	if state == "in" then -- This state will fade IN the GUI
	fadeIn = setTimer(guiFade, 50, 1, gui, state) -- We loop the function to make it lower the alpha each 50 ms
	alpha = guiGetAlpha(gui) -- We get the GUI's actual alpha after each loop
	guiSetAlpha(gui, alpha - 0.1) -- We set the GUI's actual alpha after each loop
	if alpha == 0 then -- If the loop reached "0"...
		killTimer(fadeIn) -- ... We kill the timer
		fadeIn = nil -- And to make sure it doesn't exist anymore, we set it to nil
		end
	elseif state == "out" then -- This state will fade OUT the GUI
		fadeOut = setTimer(guiFade, 50, 1, gui, state) -- We loop the function to make it higher the alpha each 50 ms
		alpha = guiGetAlpha(gui) -- We get the GUI's actual alpha after each loop
		guiSetAlpha(gui, alpha + 0.1) -- We set the GUI's actual alpha after each loop
		if alpha == 1 then -- If the loop reached "1"...
			killTimer(fadeOut) -- ... We kill the timer
			fadeOut = nil -- And to make sure it doesn't exist anymore, we set it to nil
		end
	end
end

See Also

General functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Boxes

Gridlists

Memos

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows