リファレンス URL:skeleton_animation_list(sprite, list);
戻り値/無し。 スプライトが spine を用いたボーンアニメーションの場合に利用する関数。 指定したスプライトに格納されている全アニメーション名を取得してリスト(ds_list)へ格納する。 spine を使って作成されたボーンアニメーションは各モーションの呼び出しに固有識別子を利用する仕組みとなっている。skeleton_animation_list 関数で得た全モーションの名前を GML の標準機能/データ構造の一つリスト(ds_list)で文字列として受け取り、このリスト(一次元配列)に格納された文字列を使ってアニメーションを呼び出すことができる。参考動作:Blue_Ninja
※ HTML5 で Spine Animation を動作させる場合、サーバ設定で .skel 拡張子を MINE へ追加する必要があります。ただしこれはサーバ環境にもよる。 スクリプト・サンプル// Create Event に記述する部分/初回に一回だけ実行list = ds_list_create();
// リスト用の配列を初期化skeleton_animation_list(SkeletonAnimation, list);
//第一引数には sprite を指定する //リストには Spine で作成されたアニメーションの固有識別子が全て格納される //この辺りの作業は実際に Spine を使った製作の経験が無い人だと分からないと思う //一次元配列にリストを利用することで Sort など便利な関数も利用できるようになるcounter=0;
//タイミング調整用としてインスタンス変数「couner」を確保MotionIndex=0;
skeleton_animation_set(list[| MotionIndex]);
//=========================================; //ここからは Step Event に追加するアクションとしてcounter += 1;
if counter == 100 {
MotionIndex += 1;
if MotionIndex>=ds_list_size(list){
//インデックスを0に戻すMotionIndex=0;
};
skeleton_animation_set(list[| MotionIndex]);
//格納された識別子を呼び出しcounter=0;
//カウンターを0に戻す};
//カウンターが100になったら次のアニメーション動作へ切り替え //=========================================; //ここからは DrawGUI Event に追加するアクションとしてvar a;
//NOTE: if you need to check if a data structure exists, //you can use the ds_exists() function.if !ds_list_empty(list) {
//実行する前にリストが空でないか確認する儀式a = ds_list_size(list);
var b,c,d;
b=200;c=20;d=20;
draw_text(0,b,"Total Animation Number = "+string(a));
for (var i=0; i < a; i+=1) {
draw_text(0,b+c,"Index "+ string(i)+" = "+string(list[| i]));
c+=d;
};
};
//アニメーションを一覧として出力
Functions/skeleton_animation_list