У меня проблема с методом сброса sharedObject. Можно ли не сбрасывать новые данные при закрытии swf? Моя функция сохранения — единственная функция, которая вызывает метод сброса, а также определяет, какой массив и где находится в данных 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 изменяется в любом случае.