您好,
我在我的游戏中,使用以下脚本保存和加载全局变量:
保存:
function scr_savegame1(){
var buffer = buffer_create(1024, buffer_grow, 1);
buffer_write(buffer,buffer_f32,global.token1);
buffer_write(buffer,buffer_f32,global.levelscompleted);
//Write buffer to file
buffer_save(buffer,"gamesave1.dat");
buffer_delete(buffer);
}
并且在加载这些全局变量时:
function scr_loadgame1(){
if file_exists("gamesave1.dat") {
var buffer = buffer_load("gamesave1.dat");
buffer_seek(buffer, buffer_seek_start,0)
global.token1 = buffer_read(buffer, buffer_f32)
global.levelscompleted = buffer_read(buffer, buffer_f32)
buffer_delete(buffer)
}
}
这里仅展示了一些变量作为示例,我游戏中有很多这样的变量。但是,我发现一些全局变量无法加载。
当我在游戏中进行进度时,似乎变量都是正确的。然后我保存游戏,关闭游戏,重新启动游戏,加载游戏,但是一些全局变量却无法加载。有些进度丢失了,其他一些变量却是被正确地加载了。
我试着去找出修改了它们的位置,但是却找不到证据。
我在游戏开始时定义了所有的全局变量,都是零或假值。然后我尝试加载游戏。
还有什么其他原因导致了这种问题吗?脚本是错的吗?我忘记执行什么操作了吗?
评论 (0)