draw_skeleton

Draws a frame from a given skeletal animation using sprite transforms.

Syntax:

draw_skeleton(sprite, animname, skinname, frame, x, y, xscale, yscale, rot, colour, alpha);


Argument Description
sprite The index of the sprite to draw.
animname The name of the animation to get the frame from (a string).
skinname The name of the skin to use (a string).
frame The animation frame to draw (from 0 to image_number - 1).
x The x coordinate of where to draw the sprite.
y The y coordinate of where to draw the sprite.
xscale The horizontal scaling of the sprite, as a multiplier: 1 = normal scaling, 0.5 is half etc...
yscale The vertical scaling of the sprite, as a multiplier: 1 = normal scaling, 0.5 is half etc...
rot The rotation of the sprite. 0=normal, 90=turned 90 degrees counter-clockwise etc.
colour The colour with which to blend the sprite.
alpha The alpha of the sprite (from 0 to 1 where 0 is transparent and 1 opaque).


Returns: N/A


Description

This function is only for use with sprites that have been created using a skeletal animation program like Spine. While you can draw these sprites using the normal draw functions (like draw_self()), there are times when you may want to draw a single frame or show a change of skin texture without actually changing the sprite properties. In these cases you can draw the sprite with this function, where you give the sprite index and then the name of the animation to get the frame from (a string, as set within the program used to make the sprite). Next you give the name of the skin to use (again, as set when the sprite was made), and a frame value. The frame value is for telling GameMaker Studio 2 what part of the animation to show and is a value between 0 and the image_number. The rest of the arguments are the same as those used for normal sprite drawing and will change the scale, angle, blend colour and alpha of the final animation frame being drawn.

WARNING! Because of the way skeletal animations are interpolated between various "key" frames, there is an additional overhead associated with this call and therefore it is recommended that you avoid drawing skeleton based sprites using this method unless absolutely necessary.
IMPORTANT! This function is not available with the Trial Licence of the product.


Example:

draw_skeleton(spr_Jump, "jump", "skin1", 0, x, y, image_xscale, image_yscale, image_angle, c_white, 0.5);

The above code will draw the first frame of the given skeletal animation sprite, using the "jump" animation set, the skin defined as "skin1" and at the same scale and position as the instance properties define, but with an alpha of 0.5.


Back: Drawing Sprites And Tiles
Next: draw_skeleton_instance
© Copyright YoYo Games Ltd. 2018 All Rights Reserved