Game Maker Language リファレンス > 組み込み関数 用途別 > 2D グラフィック機能 > Spineの制御と描画 > skeleton_bone_state_set()
現在のアニメーションの指定のボーンに情報を設定します
skeleton_bone_state_set(bone, map);
ボーン情報の書き換えはアニメーションの計算確定後に発生する Animation Update イベントで行う必要があります。
また、skeleton_bone_state_get()で取得可能なワールド情報をこの関数で設定することはできません
var map = ds_map_create(); skeleton_bone_state_get("head", map); var xx = ds_map_find_value(map, "worldX"); var yy = ds_map_find_value(map, "worldY"); var deltax = mouse_x - (x + xx); var deltay = mouse_y - (y + yy); var angle = arctan2(deltay, deltax); var angle = point_direction(xx, yy, mouse_x, mouse_y); ds_map_replace(map, "angle", -angle * 180 / pi); skeleton_bone_state_set("head", map); ds_map_clear(map);
上記コードは、ボーン名 "head" の情報を、生成した ds_map を使って情報を取得しています。 "worldX" / "worldY" からボーンのワールド座標と角度を取得し、マウスの向きとなる角度を計算して、その角度を Spineアニメに設定しています。