Actionscript 3 如何在AS3中将SharedObject与两个文档类一起使用?

Actionscript 3 如何在AS3中将SharedObject与两个文档类一起使用?,actionscript-3,flashdevelop,flash-cs6,shared-objects,local-shared-object,Actionscript 3,Flashdevelop,Flash Cs6,Shared Objects,Local Shared Object,我在游戏中实现SharedObject时遇到问题 我的主文档类Engine和一个名为mcEndGameScreen的单独类,在这个类中,它链接到我的Flash CS6文档 在我的Flash文档中,有两个文本字段的实例名为finalScore和bestScore 我想要完成的是保存并加载玩家在游戏结束时获得的最终当前分数和总体最佳分数。我当然希望这些值显示在我的mcEndGameScreen上 当用户玩游戏时,我如何更新和跟踪游戏中显示的高分 HighScore在我的引擎类中是这样的: //Tex

我在游戏中实现
SharedObject
时遇到问题

我的主文档类
Engine
和一个名为
mcEndGameScreen
的单独类,在这个类中,它链接到我的Flash CS6文档

在我的Flash文档中,有两个文本字段的实例名为
finalScore
bestScore

我想要完成的是保存并加载玩家在游戏结束时获得的最终当前分数和总体最佳分数。我当然希望这些值显示在我的
mcEndGameScreen

当用户玩游戏时,我如何更新和跟踪游戏中显示的高分

HighScore在我的引擎类中是这样的:

//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();
然后是highscore函数:

public function updateHighScore():void
{
   highScoreText.text = "High Score: " + nScore;
}
_sharedObject = SharedObject.getLocal("myGame");
现在,我该如何分享分数并将其显示在我的McEndGame屏幕上?此外,在我的引擎中,我参考了如下屏幕:

public var menuEnd:mcEndGameScreen; 
private var _highScore:String;

public function set highScore(value:String): ():Void {
    _highScore = value;
}
然后,游戏结束后,我就打电话给孩子,让他加载

但我想在我的引擎课上做些类似的事情,也许:

public var _sharedObject:SharedObject;
然后在我的引擎构造函数中:

public function updateHighScore():void
{
   highScoreText.text = "High Score: " + nScore;
}
_sharedObject = SharedObject.getLocal("myGame");
但老实说,我不太确定那之后该怎么办?或者如何将
公共var finalScore:TextField
公共var bestScore:TextField
与我的主机类一起使用。因为它们链接到我的mcEndGameScreen


任何帮助都将不胜感激。谢谢。

如果您想将高分传递给
mcEndGameScreen
类,请添加新的var和新的setter函数,如下所示:

public var menuEnd:mcEndGameScreen; 
private var _highScore:String;

public function set highScore(value:String): ():Void {
    _highScore = value;
}
现在在
Engine
类中,如下设置:

menuEnd.highScore = String(nScore);
要在
SharedObject
中存储高分,请执行以下操作:

_sharedObject = SharedObject.getLocal("myGame");
_sharedObject.highScore = nScore;
_sharedObject.flush(); //Write to shared object
要访问存储在
SharedObject
中的
highScore
,如下所示:

menuEnd.highScore = _sharedObject.data.highScore;

好的,那么当我在我的mcEndGameScreen类中添加set highScore函数时,我可以访问highScore并将其与我的FLA中的finalScore和bestScore文本字段一起使用?在我的mcEndGameScreen课程中,我如何通过finalScore和bestScore文本字段传递我的高分?只是有点困惑。但是谢谢你提供的信息。当我尝试使用menuEnd.highScore=nScore时,它帮助洛蒂得到了这个错误;将数字类型的值隐式强制转换为不相关的类型字符串。这是类型转换(数字作为字符串)。我已经更新了答案。对于如何将高分从我的引擎类传递到我的mcEndGameScreen类文本字段,我仍然有点困惑。到目前为止,我有一个公共函数bestScoreDisplay():void{bestScoreText.text=(“Best Score:+)},但不知道在+符号后面添加什么,比如哪个类是
bestScoreDisplay():