skeleton_attachment_create


Syntax:

skeleton_attachment_create(name, sprite, ind, xorigin, yorigin, xscale, yscale, rot);

Argument Description
name The name (as a string) of the attachment to create.
sprite The sprite_index to get the attachment image from.
ind The image_index to get the attachment image from.
xorigin The x origin for the image being used.
yorigin The y origin for the image being used.
xscale The horizontal scaling of the image, as a multiplier: 1 = normal scaling, 0.5 is half etc...
yscale The vertical scaling of the image, as a multiplier: 1 = normal scaling, 0.5 is half etc...
rot The rotation of the image. 0=normal, 90=turned 90 degrees counter-clockwise etc.


Returns:

1 if successful, -1 if not


Description

When you create you skeletal animation sprite, you can assign attachment slots and attachments to go in them. These are simply images that are apart from the animation but when attached will move along with the bone they are attached to. Normally you would assign these attachments in your animation program (Spine), but with this function you can create your own at run-time using a sprite asset from your game. the function requires that you give the attachment a name (as a string) and then set the sprite_index and image_index to use, as well as the x and y origin (which can be different to that defined by the sprite in the sprite properties), and you can also set any transforms that you wish to be applied to the image when attached. If the attachment was successfully created the function will return 1 and if it was not (you supplied an invalid sprite index, or the base sprite is not a Spine sprite) then it will return -1.

IMPORTANT! This function is not available with the Trial Licence of the product.


Example:

skeleton_attachment_create("sword", spr_Weapons, 0, 0, 80, 1, 1, 90);
skeleton_attachment_create("knife", spr_Weapons, 1, 0, 45, 1, 1, 90);
skeleton_attachment_create("crossbow", spr_Weapons, 0, 10, 30, 1, 1, 0);
skeleton_attachment_set("slot_leftHand", choose("sword", "knife", "crossbow"));

The above code would check the currently assigned attachment name for the slot named "slot_leftHand" and if an empty string is returned, a new sprite is attached.