Sprite
sprite:create_node()
Returns a new child Sprite instance that renders relative to the parent sprite's origin.
sprite:create_text_node(text_style, text)
text_style
: TextStyletext
: The text to render.
Returns a Sprite, similar to sprite:create_node()
. The returned sprite node has a child for each character in text
, all with sprite:use_parent_shader(true) set.
sprite:copy_from(sprite)
Copies all data from the other sprite, other than children.
sprite:remove_node(sprite)
Deletes the passed sprite if it's a child of the parent.
sprite:children()
Returns a list of Sprites.
sprite:texture()
Returns the path to the sprite's texture.
sprite:set_texture(path)
Use values returned from Resources.load_texture() for better performance.
sprite:palette()
Returns the path to the sprite's palette or nil
.
sprite:set_palette(path)
Sets the palette for the texture to reference.
Palettes are 256x1 images. Colors on the sprite's texture will be remapped by taking the red value of the texture to grab a color from the palette.
Use values returned from Resources.load_texture() for better performance.
sprite:visible()
Returns true if the sprite is visible.
sprite:set_visible(visible)
sprite:reveal()
Same as sprite:set_visible(true)
sprite:hide()
Same as sprite:set_visible(false)
sprite:layer()
Returns an integer used for sorting during render.
sprite:set_layer(layer)
layer
: integer, negative values render in front of the parent sprite.
Used for sorting during render.
sprite:offset()
Returns { x: number, y: number }
, represents the parent relative offset.
sprite:set_offset(x, y)
Sets the parent relative offset.
sprite:origin()
Returns { x: number, y: number }
.
sprite:set_origin(x, y)
Sets the origin, Animations will overwrite this value.
sprite:scale()
Returns { x: number, y: number }
.
sprite:set_scale(x, y)
Sets the scale of the sprite.
sprite:size()
Returns { x: number, y: number }
. Represents the size of the sprite. Scale is accounted.
sprite:set_size(x, y)
Sets the size of the sprite, updates the scale.
sprite:width()
Returns the width of the sprite, scale is acounted.
sprite:set_width(width)
Sets the width of the sprite, updates the scale.
sprite:height()
Returns the height of the sprite, scale is acounted.
sprite:set_height(height)
Sets the height of the sprite, updates the scale.
sprite:color()
Returns a Color
sprite:set_color(color)
color
: Color
The color will be reset to black at the start of the next frame for root sprites.
sprite:color_mode()
Returns the ColorMode.
sprite:set_color_mode(color_mode)
color_mode
ColorMode.Additive
each pixel will be added by the sprite's color, alpha will be multiplied.ColorMode.Multiply
each pixel will be multiplied by the sprite's color.
The color mode will be reset to ColorMode.Additive
at the start of the next frame for root sprites.
sprite:never_flip()
Returns true if perspective does not affect the sprite.
sprite:set_never_flip(never_flip?)
Prevents player perspective from flipping the sprite.
sprite:shader_effect()
Returns a SpriteShaderEffect.
sprite:set_shader_effect(sprite_shader_effect)
sprite_shader_effect
SpriteShaderEffect.None
- ``SpriteShaderEffect.Grayscale`
SpriteShaderEffect.Pixelate
- Scales with alpha.
sprite:use_root_shader(enable?)
Temporarily adopts the color, color mode, palette, and shader effect of the root sprite during render.
sprite:use_parent_shader(enable?)
Adopts the color, color mode, palette, and shader effect of the parent sprite during render.
Color
Colors are tables with an r
, g
, b
, and a
key, with each value set to a 0-255 integer.
There's a global table named Color
with helpers for making new color tables.
Color.new(r, g, b, a?)
Each component is a 0-255 value, a
defaults to 255.
Returns a color.
Color.mix(color_a, color_b, progress)
A progress
of 0.0 will return a table with the same values as color_a
.
A progress
of 1.0 will return a table with the same values as color_b
.
Other values of progress
will linearly interpolate each component between color_a
and color_b
.
Returns a color.
color.r
The red component of the color. Stored as a number in the range [0, 255].
color.g
The green component of the color. Stored as a number in the range [0, 255].
color.b
The blue component of the color. Stored as a number in the range [0, 255].
color.a
The alpha or transparency component of the color. Stored as a number in the range [0, 255].
TextStyle
TextStyle.new(font_name, texture_path?, animation_path?)
font_name
: The name of the font to use.- Built in fonts:
"THICK"
"THIN"
"THIN_SMALL"
"MENU_TITLE"
"MICRO"
"CONTEXT"
"CODE"
"PLAYER_HP"
"PLAYER_HP_ORANGE"
"PLAYER_HP_GREEN"
"DAMAGE"
"RESULT"
"BATTLE"
"ENTITY_HP"
texture_path
: Required for custom fonts.animation_path
: Required for custom fonts.
- Built in fonts:
For custom fonts, the format [FONT_NAME]_U+[CHAR_HEX]
is used for mapping characters. Only the first frame in the animation is used to render the character.
Example: An animation file containing the character A
for the font COOL_FONT
animation state="COOL_FONT_U+0041"
frame x="0" y="0" w="7" h="12
Returns TextStyle.
TextStyle.new_monospace(font_name, texture_path?, animation_path?)
Returns TextStyle, see TextStyle.new()
text_style.monospace
Boolean or nil. When set to true, text created using this text style will use the width of either the space character or A
to decide how much width will be allocated for a single glyph, instead of the width of the glyph itself.
text_style.min_glyph_width
Number or nil. The minimum amount of space allocated for a single glyph for resolving glyph placement.
When unset the text style will use the engine default value of 0.
text_style.letter_spacing
Number or nil. Additional horizontal space between glyphs.
When unset the text style will use the engine default value of 1.
text_style.line_spacing
Number or nil. Additional vertical space given to new lines. Line height is calculated using the height of either the space character or A
, added to the line spacing.
When unset the text style will use the engine default value of 1.
TextStyle.measure(text_style, text)
Returns TextMetrics
TextMetrics
text_metrics.width
The width of the text.
text_metrics.height
The height of the text.
SyncNode
SyncNodes are a sprite animation pair that sync settings, state, and progress with an entity's root animation.
sync_node:sprite()
Returns a reference to the sync node's sprite.
sync_node:animation()
Returns a reference to the sync node's Animation
Hud
A global sprite node, used to add sprites to the HUD.
local sprite = Hud:create_node()