您好,

我在我的游戏中,使用以下脚本保存和加载全局变量:

保存:

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)  
}  
}

这里仅展示了一些变量作为示例,我游戏中有很多这样的变量。但是,我发现一些全局变量无法加载。

当我在游戏中进行进度时,似乎变量都是正确的。然后我保存游戏,关闭游戏,重新启动游戏,加载游戏,但是一些全局变量却无法加载。有些进度丢失了,其他一些变量却是被正确地加载了。

我试着去找出修改了它们的位置,但是却找不到证据。

我在游戏开始时定义了所有的全局变量,都是零或假值。然后我尝试加载游戏。

还有什么其他原因导致了这种问题吗?脚本是错的吗?我忘记执行什么操作了吗?