我在遊戲中執行SharedObject
時遇到問題。如何在AS3中使用SharedObject和兩個Document類?
我的主要文檔類Engine
和一個單獨的類叫做mcEndGameScreen
,並在這個類中鏈接到我的Flash CS6文檔。
在我的Flash文檔中,有兩個實例名稱爲finalScore
和bestScore
的文本字段。
我想要完成的是保存並加載玩家在遊戲結束時獲得的最終當前得分以及總體最佳得分。我希望這些值在我的mcEndGameScreen
上顯示。
我如何更新並跟蹤遊戲中顯示的高分數?
高分在我的引擎類,像這樣:
//Text Fields
public var highScoreText:TextField;
public var nScore:Number;
在我的引擎功能:
//Add Text fields to stage
stage.addChild(highScoreText);
//Add score to text field
nScore = 0;
updateHighScore();
然後高分功能:
public function updateHighScore():void
{
highScoreText.text = "High Score: " + nScore;
}
現在,我將如何去關於共享分數並將其顯示在我的mcEndGameScreen上?此外,在我的引擎我引用的屏幕,像這樣:
public var menuEnd:mcEndGameScreen;
然後,我只是叫孩子當遊戲結束加載了。
但我想在我的引擎類做這樣的事情可能的:
public var _sharedObject:SharedObject;
然後在我的引擎構造函數:
_sharedObject = SharedObject.getLocal("myGame");
但說實話也不太清楚以後做什麼?或者如何在我的主引擎類中使用public var finalScore:TextField
和public var bestScore:TextField
。因爲它們與我的mcEndGameScreen相關聯。
任何幫助將不勝感激。謝謝。
好了,所以我在我mcEndGameScreen類中添加一套排行榜功能,那麼我可以訪問的高分,並與我的FLA我finalScore和bestScore文本字段使用它們?我將如何將我的highScore通過我的mcEndGameScreen類中的finalScore和bestScore文本字段?只是有點困惑。但是,謝謝你的信息。它幫助了很多 – Nathan
當我嘗試使用menuEnd.highScore = nScore時出現此錯誤;將Number類型的值隱式強制爲不相關的String類型。 – Nathan
這是類型轉換(數字作爲字符串)。我已經更新了答案。 –