共享对象在我的代码中不起作用

时间:2010-11-03 01:06:46

标签: flash actionscript actionscript-2 flash-cs3

但是,当我下载源代码时,它们在其他示例中工作,甚至在本地。

代码:

//Button
on(release)
{
    onr_save = SharedObject.getLocal("onr");
    onr_save.saved = "true";
    //onr_save.flush();
    trace("kk: "+onr_save.saved);
}

//Frame
onr_save = SharedObject.getLocal("onr");
load_game._visible=false;
if(_root.onr_save.data.saved=="true")
{
    load_game._visible=true;
}

当我按下按钮时,它总是说“kk:true”,但是当我重新编译时,按钮是不可见的,并且跟踪显示为“未定义”。我做错了什么?

1 个答案:

答案 0 :(得分:2)

本地共享对象有一个数据属性(它是一个对象),您必须使用它来保存您想要存储的数据。

你在使用LSO的代码中使用它,而不是在设置LSO的代码中使用它。

因此,您首先将示例更改为:

//Button
on(release)
{
    onr_save = SharedObject.getLocal("onr");
    onr_save.data.saved = "true";
    //onr_save.flush();
    trace("kk: "+onr_save.saved);
}

在一个不相关的说明中,这种直接在按钮上编写代码的方法仅在ActionScript 2.0和更早版本中得到支持 - 现在已经弃用了很多年。您最好开始学习ActionScript 3.