@大雄道具博物馆如果要让拿到过的钥匙不再出现,最好分别保存这些钥匙的变量,而不是全部一起塞到一个变量中你,假设一共10把钥匙:
在saveGame的59行开始,记录这些钥匙是否取得:
var i;
for(i=1;i<=10;i+=1){
file_bin_write_byte(f,global.key[i]);
}
在saveExe的45行开始,读取这些钥匙的状态:
var i;
for(i=1;i<=10;i+=1){
global.key[i] = file_bin_read_byte(f);
}
借用
@Kirito刀剑神域 的范例:
FreeDoor:
Create与Alarm 0事件:
count = 0;
for(i=1;i<=10;i+=1){
count += global.key[i]; //获取钥匙总数
}
碰撞player事件:
if count >= keynum{
instance_destroy();
}
Key:
Create与Step事件:
if global.key[i] == 1{
visible = 0;
}
else{
visible = 1;
}
碰撞player事件:
if visible{
global.key[i]=1;
with FreeDoor{
alarm[0]=1; //获取新的钥匙总数
}
}
sound_play(snditem);