Game Maker Language リファレンス > 組み込み関数 用途別 > 2D グラフィック機能 > Spineの制御と描画 > skeleton_attachment_create_colour()
Spineスプライトを生成する際、アタッチメントスロットとアタッチメントを割り当てることができます。 これらは単に Spineアニメーションから分離された画像(スプライト)ですが、アタッチすることでアタッチされているボーンと一緒に移動します。
通常、これらのアタッチメントは Spineアニメーション に割り当てますが、この機能を使用すると、ゲームでの Spriteアセットを使用して、実行時に独自のアタッチメントを生成できます。この関数ではアタッチメントに名前(文字列)をつけ、次に使用する sprite_index と image_index 、および X/Yの原点(Spriteプロパティで定義されたものとは異なる場合があります)を設定する必要があります。 また、アタッチ時に画像を適用する変換を設定したり、画像にブレンドする色とそのアルファ値(透過度)を設定できます。 アタッチメントが正常に作成された場合は 1 を返し、そうでない場合(無効な Sprite を指定した、Spineスプライトでない Sprite を指定した場合)には -1 を返します。
アタッチメントスロットと同様に、インスタンススプライトにブレンドカラー (image_blend) とアルファ設定 (image_alpha) を含めることができ (skeleton_slot_colour_set() を参照)、これにより割り当てられたアタッチメントスプライトのスロットにおける最終的な描画値は、これらを複合した値となります。
skeleton_attachment_create_colour(name, sprite, ind, xorigin, yorigin, xscale, yscale, rot, colour, alpha);
skeleton_attachment_create_colour("sword", spr_Weapons, 0, 0, 80, 1, 1, 90, c_red, 1); skeleton_attachment_create_colour("knife", spr_Weapons, 1, 0, 45, 1, 1, 90, c_yellow, 1); skeleton_attachment_create_colour("crossbow", spr_Weapons, 0, 10, 30, 1, 1, 0, c_white, 0.5); skeleton_attachment_set("slot_leftHand", choose("sword", "knife", "crossbow"));
上記コードは "sword" / "knife" / "crossbow" のアタッチメントを生成し、それらのいずれかをランダムで「slot_leftHand」という名前のスロットにアタッチしています