リファレンス URL:draw_skeleton(sprite,animname,skinname,frame,x,y,xscale,yscale,rot,colour,alpha);

戻り値/無し。

スプライトに Spine などで作られたボーンアニメーションを用いた場合に使える専用関数。

ボーンアニメーションも通常の Draw 命令でスプライトが描画されていることに変わりはない。なので Object Properties で Visible がオンになっている場合は暗黙的なdraw_self();が実行されている。

この関数は特定アニメーション・フレームを指定した座標へ描画するための関数で、アニメーション動作中のオブジェクト・インスタンスの動作などに直接影響は及ばない。

ただしボーンアニメーションは各キーフレームを元に補間的描画処理が行われているため、特定アニメーションフレームだけを抜き出して描画する追加的命令は再計算が発生する分負荷は大きくなる。このオーバーヘッドを考慮した上で利用すべきとされる。

描画する際に XY 位置や回転だけではなくカラーブレンド及び透過率まで細かく指定できるが、HTML5 では WebGL が機能しない環境では利用できない。


//Draw GUI を利用した場合
GameMakerStudio_Spine_draw_skeleton_sample_screen
上記スクリーンショットだと左側に描画されたものがdraw_skeleton();の結果

スクリプト・サンプル
var a = image_number; var b = image_index; var c = 5; // delay var d = b-c; // 5 Frame 分、遅れて描画させる draw_text(0,0,"image_number = "+string(a)); draw_text(0,20,"image_index = "+string(b)); draw_text(0,40,"draw_skeleton = "+string(d)); draw_skeleton( Sprite, "KorobuMotion", "blue", d, x-220, y, image_xscale, image_yscale, image_angle, c_white, 0.5 );
Functions/draw_skeleton

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress › Error

There has been a critical error on this website.

Learn more about troubleshooting WordPress.