Skip to main content

The "vngen_button_create" Function

Syntax#

vngen_button_create(id, text, sprite, spr_hover, spr_select, x, y, z, font, color, transition, duration, [ease]);
ArgumentTypeDescription
idreal/stringThe unique identifier to use for the new button
textstringThe button text to display over the background (or "" for none)
spritespriteThe sprite to display as a button background
spr_hoversprite/macroThe sprite to display as a background when hovered (or keyword none for default)
spr_activesprite/macroThe sprite to display as a background when selected (or keyword none for default)
xrealThe horizontal position to display the button, relative to the GUI layer
yrealThe vertical position to display the button, relative to the GUI layer
zrealThe drawing depth and list order of the button, relative to other log buttons only
fontfontThe font to draw text in, where fnt_default is default
colorcolorThe color to draw text in, where c_white is default
transitionscriptSets the transition animation to perform
durationrealSets the duration of the transition animations, in seconds
[ease]integer/macroOptional: Sets the ease override for the button animations

Description#

Creates a new button which will be displayed until vngen_button_destroy is run. The chosen button ID will be recorded as the selected choice until cleared with vngen_get_button or vngen_button_clear. Buttons can selected by mouse/touch, or by other input devices with vngen_button_nav and vngen_button_select.

Unlike other entities, button z-index determines not just drawing depth, but also navigation order. Buttons with lower z-index will be considered lower in the list of buttons. If z-index is equal between two or more buttons, navigation order will automatically be set by reverse creation order, but this may or may not be visually correct. Therefore, it is recommended to always set z-index explicitly. The actual values used are inconsequential so long as they are ordered from highest to lowest.

See Included Animations and Macros & Keywords for a list of available transition animations and ease modes.

Example#

vngen_button_create("btn", "Click me!", spr_btn, spr_btn_hover, spr_btn_active, 256, 512, -1, fnt_Arial, c_white, trans_fade, 1);