Skip to main content

The "draw_sprite_scaled" Function

Syntax#

draw_sprite_scaled(sprite, subimg, x, y, ratio, min, max);
ArgumentTypeDescription
spritespriteThe sprite to draw scaled
subimgintegerThe sprite frame index to draw
xrealThe horizontal room coordinate at which to draw the sprite
yrealThe vertical room coordinate at which to draw the sprite
ratiorealPercentage of the view to occupy, as a value ranging from 0-1
minrealMinimum allowable ratio, or percentage of the view
maxrealMaximum allowable ratio, or percentage of the view

Description#

Draws a sprite scaled relative to the size of the active view camera. Ratio is calculated as a percentage of view width OR height (whichever is greater), with a value of 1 fully covering the view at any aspect (e.g. for backgrounds).

Because this ratio alone may result in sprites smaller or larger than desirable on one axis, a min and max ratio can also be supplied to limit size on the other axis than is calculated for the base ratio (e.g. for HUD elements). If max is set to 0, clamping will be disabled.

Also returns the scale multiplier, which can be used to position or scale other elements relative to the drawn sprite.

Example#

var scale = draw_sprite_scaled(my_sprite, image_index, x, y, 0.25, 0.15, 0.5);
draw_sprite_ext(other_sprite, image_index, x, y + 128, scale, scale, 0, c_white, 1);