DgsAddEasingFunction: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "__NOTOC__ {{Client function}} This function allow us to add easing functions for DGS animation. ==Syntax== <syntaxhighlight lang="lua"> bool addEasingFunction ( string name,...")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
This function allow us to add easing functions for DGS animation.
This function allow us to add easing functions for DGS animation. And this can only be used with DGS.
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool addEasingFunction ( string name, string functionStr )
bool dgsAddEasingFunction ( string name, string functionStr )
</syntaxhighlight>
</syntaxhighlight>


Line 13: Line 13:
===Returns===
===Returns===
Returns a true if succeed, ''false'' otherwise.
Returns a true if succeed, ''false'' otherwise.
===Predefined Variables===
*'''progress:''' A float indicates the animation progress, which ranges from 0 to 1.
*'''setting:''' A table has following items.
**'''setting[1]:''' Property Name.
**'''setting[2]:''' Target Value.
**'''setting[3]:''' Initial Value.
**'''setting[4]:''' Index of Start Value if Start Value is an array.
*'''self:''' The dgs element that is using this easing function.
*'''propertyTable:''' A table of the properties of the dgs element. Use this instead of dgsGetProperty if there are performance demands.


==Example==
==Example==
Line 18: Line 28:
DGS = exports.dgs
DGS = exports.dgs


DGS:addEasingFunction("test",[[
DGS:dgsAddEasingFunction("test",[[
return math.abs(value^2-0.5)*2
return math.abs(progress^2-0.5)*2
]]) --Add easing function named as "test"
]]) --Add easing function named as "test"


parent = DGS:dgsDxCreateWindow(200,100,400,400,"DGS Parent Window",false) --Create a window
parent = DGS:dgsCreateWindow(200,100,400,400,"DGS Parent Window",false) --Create a window
DGS:dgsDxGUISetAlpha(parent,0)
DGS:dgsSetAlpha(parent,0)
DGS:dgsAlphaTo(parent,1,false,"test",2000)  --set animation with easing function that we added.
DGS:dgsAlphaTo(parent,1,false,"test",2000)  --set animation with easing function that we added.
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 11:28, 8 September 2023

This function allow us to add easing functions for DGS animation. And this can only be used with DGS.

Syntax

bool dgsAddEasingFunction ( string name, string functionStr )

Required Arguments

  • name: The name of easing function.
  • functionStr: The string of function to load.

Returns

Returns a true if succeed, false otherwise.

Predefined Variables

  • progress: A float indicates the animation progress, which ranges from 0 to 1.
  • setting: A table has following items.
    • setting[1]: Property Name.
    • setting[2]: Target Value.
    • setting[3]: Initial Value.
    • setting[4]: Index of Start Value if Start Value is an array.
  • self: The dgs element that is using this easing function.
  • propertyTable: A table of the properties of the dgs element. Use this instead of dgsGetProperty if there are performance demands.

Example

DGS = exports.dgs

DGS:dgsAddEasingFunction("test",[[
	return math.abs(progress^2-0.5)*2
]]) --Add easing function named as "test"

parent = DGS:dgsCreateWindow(200,100,400,400,"DGS Parent Window",false)	--Create a window
DGS:dgsSetAlpha(parent,0)
DGS:dgsAlphaTo(parent,1,false,"test",2000)  --set animation with easing function that we added.

See Also

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips