Game Maker Language リファレンス > 組み込み関数 用途別 > 2D グラフィック機能 > Spineの制御と描画 > skeleton_slot_data_instance()
With this function you can populate a (pre-created) ds_list with data for each of the available attachment slots for the Spine sprite associated with the current instance (including any attachment modifications). This data is returned in the forum of a ds_map which contains the following key/value pairs:
The values for each key will be strings and can then be used in the other skeleton attachment functions for these types of sprite. Note that the ds_map created are not destroyed so you will need to loop through the ds_list and destroy each of the created maps yourself.
skeleton_slot_data_instance(list);
var list = ds_list_create(); var open = true; slot_name = ""; skeleton_slot_data_instance(list); for (var i = 0; i < ds_list_size(list); i++;) { var map = list[| i]; if open { if map[? "attachment"] == "(none)" { open = false; slot_name = map[? "name"]; } } ds_map_destroy(map); } ds_list_destroy(list);
The above code creates a DS list and then populates it with the slot data for the instance sprite. This data is then parsed to extract the individual DS maps with the slot data. This is then checked to see if there is an empty slot, and if so the variable "slot_name" is assigned the empty slot name before the DS map is destroyed. Finally we destroy the DS list as it is no longer required.