Fade.lua

From Moondust Wiki
Jump to navigation Jump to search
This is the archived page of the old LunaLua documentation
The rest of LunaLua related articles in this wiki contain a lot of outdated documentation preserved for historical purposes and may be used with legacy versions of the LunaLua.
Please visit the SMBX2 Documentation Page to access the latest documentation for the LunaLua scripting system of the SMBX2 Project.
Adding LunaLua contents into this Wiki is not advised.
DEPRECATED: Use Graphics.drawScreen instead.

Download Latest Version

fade.lua is a small library for creating colored fading effects and colored overlays.

Installation

Copy the fade.lua file into either your level's custom graphics folder for use in a level, along with a lunadll.lua file, or into the same directory as your .wld file along with a lunaworld.lua file for use throughout an entire episode.

How to use

To enable the fade library:

local fade = API.load("fade");

This will load the Fade API.

Examples

Simple Fade Effect

local fade = API.load("fade");

local myCustomFade = fade()
myCustomFade:setStart(255, 255, 255, 255)
myCustomFade:setEnd(255, 255, 255, 0)
myCustomFade:setTransitionTime(65*4)

function onStart()
    myCustomFade:start()
end

This will create a fade effect which starts from full white to full opacity. If you want to, you can also use hex-values instead:

myCustomFade:setStart(0xFFFFFFFF)
myCustomFade:setEnd(0xFFFFFF00)

Simple Color Overlay

local fade = API.load("fade");

local myCustomOverlay = fade()
myCustomOverlay:setStart(0, 0, 255, 100)
myCustomOverlay:setEnd(0, 0, 255, 100)

function onStart()
    myCustomOverlay:start()
end

This will create a blue overlay over the level.


Documentation

Fade API
Function Return values Description
myFade = fade() Fade object Sets the memory of the given type.


Fade object
Function Return values Description
FadeObj:setStart(int red, int green, int blue, int alpha) nil Sets the transition start color. (0-255)
FadeObj:setStart(int rgba) nil Sets the transition start color. (0 - 0xFFFFFFFF)
FadeObj:setEnd(int red, int green, int blue, int alpha) nil Sets the transition end color. (0-255)
FadeObj:setEnd(int rgba) nil Sets the transition end color. (0 - 0xFFFFFFFF)
FadeObj:setTransitionTime(int transitionTime) nil Sets the time how long the animation should take from the start color to the end color. The transition time equals the framerate of SMBX (65 = 1 second)
FadeObj:reset() nil Resets the current transition color to the start transition color
FadeObj:start() nil Resets and starts the transition animation.
FadeObj:pause() nil Pauses the transition animation. The current transition animation frame will be still displayed.
FadeObj:continue() nil Resumes the transition animation.
FadeObj:stop() nil Pauses the transtion animation. The current transtion animtion frame will NOT be displayed.
FadeObj:isFinished() boolean Returns true, if the animation finshed.
FadeObj.x number The x position of the fade animation. (Default 0)
FadeObj.y number The y position of the fade animation. (Default 0)
FadeObj.width number The width of the fade animation. (Default 800)
FadeObj.height number The height of the fade animation. (Default 600)