Привет всем, так что я безуспешно пытался сделать так, как отобразить мой объект Movie Clip с именем achiev_10
, когда nScore
является числом, равным 10.
Вот что у меня есть в моих общих данных объекта.
В моем конструкторе у меня есть это:
//Initialize our shared object give it a path to save local data
sharedObject = SharedObject.getLocal("GeometryBlast");
if (sharedObject.data.highScore == null)
{
// checks if there is save data
trace("No saved data yet."); // if there isn't any data on the computer...
sharedObject.data.highScore = nScore; // ...set the savedScore to 0
} else
{
trace("Save data found."); // if we did find data...
loadData(); // ...load the data
}
Затем в функции saveData();
у меня есть это:
public function saveData():void
{
if (nScore > sharedObject.data.highScore )
{
sharedObject.data.highScore = nScore;
}
menuEnd.bestScore.text = " " + sharedObject.data.highScore;
sharedObject.flush();
//trace("Data Saved!");
//sharedObject.clear();
if (nScore == 10)
{
achiev_10 = new Achievment_10();
menuEnd.addChild(achiev_10);
achiev_10.x = stage.stageWidth / 2;
achiev_10.y = stage.stageHeight / 2;
sharedObject.flush();
}
}
Теперь в настоящее время в if (nScore == 10)
, где я добавляю Move Clip, он работает и отображается. Но когда я возвращаюсь, чтобы проверить достижение Move Clip, оно исчезает. Я действительно не знаю, что мне нужно сделать, чтобы сохранить данные, если сохранение data.highscore равно 10, то всегда отображать это достижение.
Я также пробовал это, но ничего:
if (sharedObject.data.highScore == 10)
{
achiev_10 = new Achievment_10();
menuEnd.addChild(achiev_10);
achiev_10.x = stage.stageWidth / 2;
achiev_10.y = stage.stageHeight / 2;
sharedObject.flush();
}
пожалуйста помогите спасибо!