我在使用 sharedObject 刷新方法时遇到问题。关闭 swf 时是否可以不刷新新数据?我的 savegame 函数是唯一调用 flush 方法的函数,它还确定了哪个数组在 sharedObject 数据中的位置。
parentMC.sharedObject.data.moveSpdUpgrade = parentMC.upgrades.tempMoveSpdUpgrade;
parentMC.sharedObject.flush();
但是,当我修改 tempMoveSpdUpgrade 数组时,即使尚未调用刷新,它也会将新数据保存在 sharedObject 中。
tempMoveSpdUpgrade[0][2] = 1;
trace(parentMC.sharedObject.data.moveSpdUpgrade);
此跟踪显示数据已更改,但我不明白,因为尚未调用刷新且 swf 尚未关闭。我想知道为什么在数组中所做的修改会自动更改 sharedObject 数据。
感谢您的帮助。
编辑:
public function saveGame(){
parentMC.sharedObject.data.money = parentMC.money;
parentMC.sharedObject.data.moveSpdUpgrade = parentMC.upgrades.tempMoveSpdUpgrade;
parentMC.sharedObject.flush();
}
就像我在 hackattack 的评论中所说的那样,当我不保存但 moveSpdUpgrade 数组被修改时,钱是正确的数据。