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 配列はいずれかの方法で変更されます。