actionscript-3 - Actionscript 3.0 SharedObject刷新()问题

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

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

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

Error #2130: Unable to flush 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);

非常感谢任何帮助!

最佳答案

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

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

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

这不是您的代码的问题。

您可以前往此处更改存储设置:

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

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

关于actionscript-3 - Actionscript 3.0 SharedObject刷新()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499660/

相关文章:

flash - 使用 ActionScript 3.0 + Flash/Flex 链接 SWC 的运行时自省(introspection)

java - 数组中元素的梯度分布

java - screentoaster.com 如何从浏览器捕获您的计算机屏幕?

flash - Flash AS3中的dispatchEvent是什么?

c# - 使用 C# 的 Actionscript 3.0 网络编程

http - 闪存中的空 xml 响应

flash - 我在 Flash CS 5.5 中编辑组件时的虚线引用线

flash - 我可以在AS3中更改声音的播放速度吗?

actionscript-3 - 如何在 Flash 应用程序中创建退出按钮

Java 套接字服务器