Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 SharedObject的问题?_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 SharedObject的问题?

Actionscript 3 SharedObject的问题?,actionscript-3,flash,Actionscript 3,Flash,因此,简单地说,我试图使用SharedObject为我简单地挂起一个变量,我需要保存该变量,以便用户记住一个选项选择。没有什么戏剧性的,但出于某种原因,无论我做什么,我似乎都无法实际创建SharedObject以在下面几行中与之交互,我每一步都在运行跟踪,只是为了观察它在哪里中断,OBJ SET跟踪将运行,但如果我试图通过.data访问SortObject,这似乎不起作用?这是我第一次处理SharedObjects,我对AS3还是相当陌生的,因为它一开始就是一个病态的平台,我似乎找不到任何失败的

因此,简单地说,我试图使用SharedObject为我简单地挂起一个变量,我需要保存该变量,以便用户记住一个选项选择。没有什么戏剧性的,但出于某种原因,无论我做什么,我似乎都无法实际创建SharedObject以在下面几行中与之交互,我每一步都在运行跟踪,只是为了观察它在哪里中断,OBJ SET跟踪将运行,但如果我试图通过.data访问SortObject,这似乎不起作用?这是我第一次处理SharedObjects,我对AS3还是相当陌生的,因为它一开始就是一个病态的平台,我似乎找不到任何失败的理由?我在行动中看到的100种用法的每一种用法似乎都是以与我相同的方式使用的

我也不会因此抛出任何编译错误

据我所知,SharedObject根本不是出于某种原因创建的

 public function ChangeSortSetting(event:Event) : *
    {

      var SortTypeSetting = event.target.name == "SortTypeSet";
      var ExtraSetting = event.target.name == "ExtraSet";

      trace(" VAR SET ")

      var SortObject:SharedObject = SharedObject.getLocal("SortObject")

      trace(" OBJ SET? ")

      if (SortObject.data.SortMethod == null) 
        {
           SortObject.data.SortMethod = "alpha"
           SortObject.flush()
        }

      trace(" / 1UIX / OBJ TRACE CHECK / " + SortObject.data.SortMethod)
}

无法更改事件名称。 问题就在下面几行

  var SortTypeSetting = event.target.name == "SortTypeSet";
  var ExtraSetting = event.target.name == "ExtraSet";
尝试更改为:

  var SortTypeSetting = "SortTypeSet";
  var ExtraSetting = "ExtraSet";

那么,如果存储的变量已经设置好了,那么实际上如何检查呢?另外,请记住,如果您从一个SWF中写入SO数据,然后从另一个SWF中读取,则不会这样工作。您的
SortObject.data.SortMethod
跟踪行是否正确输出“alpha”?你的代码看起来不错。根据文档():“本地共享对象在设计应用程序时有一些重要的考虑因素。有时SWF文件可能不允许写入本地共享对象,有时存储在本地共享对象中的数据在您不知道的情况下可以被删除。”也许你的本地设置不允许正确编写SharedObjects。还有一件事我想到了。例如,如果SortObject.data.SortMethod包含一个空字符串“”,那么它自然不会传递==null条件,因此永远不会分配任何其他内容。我会跟踪typeof(SortObject.data.SortMethod)和getQualifiedClassName(SortObject.data.SortMethod)以防万一,如果它是一个字符串,也会跟踪.length。另一种情况是:当调用
flush()
时,需要检查它的结果,如果它恰好是“挂起”的,您还没有将数据正确地刷新到共享对象中!1.如果我试图通过跟踪SO中的.data或任何内容来访问它,它将不返回任何内容。2.见#1。三号。我也尝试过在null或undefined下运行它,以获得相同的结果。我尝试过用所有这些方法跟踪它,它不会提取信息,甚至不会抛出null或未定义,如果我尝试检查对象周期,该行就不会跟踪。所以我假设它是某种问题,我无法创建它。谢谢大家的回复。