因为某个游戏项目的需要,需要提取某个特定Room内instance的各项信息,坐标xy,depth之类的。
用于在另一个房间通过不同条件控制并重现这些instasnce,数量少还好,但是数量大的时候一个个手动查看录入实在太不科学。
如果有更好更快更巧妙的方法,欢迎大家交流讨论,虚心学习一下。
在友人@顺子的提示下,于是有了下面这一段代码。
if keyboard_check_pressed(ord("P"))
{
ini_open("temp_datacollect.ini");
for(var i = 0; i < instance_count; i ++;)
{
with(instance_id[i])
{
var oobject_name = object_get_name(object_index);
var xx = string("xx=" + string(x));
var yy = string("yy=" + string(y));
var ddepth = string("ddepth=" + string(depth));
//分行
/*
ini_write_string("data", oobject_name+".name"+string(i), object_get_name(object_index))
ini_write_string("data", oobject_name+".x", x)
ini_write_string("data", oobject_name+".y", y)
ini_write_string("data", oobject_name+".depth", depth)
*/
//一行
ini_write_string("data", oobject_name + "." + string(i), oobject_name + "," + xx + "," + yy + "," + ddepth);
}
}
ini_close();
}
3、运行游戏工程,至目标room,按一下P,关闭工程。
4、打开资源管理器,C盘-用户-用户名-AppData-Local-项目名,找到temp_datacollect.ini,打开并提取所需内容。
完。