【问题标题】:Actionscript 3.0 SharedObject flush() problemsActionscript 3.0 SharedObject flush() 问题
【发布时间】:2014-02-25 07:17:54
【问题描述】:

首先,我是一个初学者,如果问题很明显,我很抱歉,但我没有看到它。

无论如何,我的问题是关于 SharedObject - 当我尝试使用 flush() 写入磁盘时,它会抛出

错误 #2130:无法刷新 SharedObject。

我已经在整个网络上检查过类似的问题,但问题现在仍然存在。我试图开始工作的代码是

var time:int;
var saveDataObject:SharedObject=SharedObject.getLocal("saveDataFile");

if (saveDataObject.data.savedTime==null) {
    time=0;
    time=time+1;
    saveDataObject.data.savedTime=time;
} else {
    time=saveDataObject.data.savedTime;
    time=time+1;
    saveDataObject.data.savedTime=time;
}

var timer:TextField = new TextField();
addChild(timer);
timer.defaultTextFormat=mainFormat;
timer.embedFonts=true;
timer.antiAliasType=AntiAliasType.ADVANCED;
timer.text=String("Time launched:" +time);

saveDataObject.flush();
trace(saveDataObject.size);

非常感谢任何帮助!

【问题讨论】:

    标签: actionscript-3 flash flash-cs5 flush shared-objects


    【解决方案1】:

    您的问题很可能是因为您的 Flash 播放器设置为不允许 Flash 播放器将数据保存到您的计算机。

    flush() 方法在无法保存时会抛出 Error 异常。成功时返回 SharedObjectFlushStatus.FLUSHED。当需要额外的存储空间时,它返回 SharedObjectFlushStatus.PENDING。

    您的 flush() 方法抛出错误。这意味着 Flash Player 无法将共享对象写入磁盘。如果用户永久禁止本地信息存储,则可能会出现此错误。

    这不是您的代码的问题。

    您可以到这里更改您的存储设置:

    http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

    最好的办法是在冲洗时尝试捕获。这样错误就会被捕获并且不会使程序崩溃。此外,如果你发现它,我认为 Flash 播放器可能会提示用户存储设置并允许他们更改它们。我不记得。但我相信你可以研究并找出答案。

    【讨论】:

    • 谢谢,我没想到只需右键单击 swf 并转到首选项。我已经允许通过控制面板保存数据,所以我认为这不是问题。
    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2013-04-04
    相关资源
    最近更新 更多