代码之家  ›  专栏  ›  技术社区  ›  Yarin

ActionScript3共享对象在不同的主权财富基金中不存在?

  •  1
  • Yarin  · 技术社区  · 14 年前

    我提供两个不同的swf,它们读写同一个SharedObject变量。SharedObject变量是一个数字,每个swf都检查这个数字,以确保它不会使用同一个数字两次。然后存储它选择的最后一个数字。这样一来,无论加载顺序如何,两个主权财富基金都不应该使用同一个数字两次。

    如果我反复加载其中一个swf,则从不重复旋转两次。然而,在主权财富基金之间来回切换时,有时会重复这个数字。SharedObjects应该是Flash播放器的全局对象,那么为什么会发生这种情况呢?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   exoboy    12 年前

    共享对象实际上被赋予了它们自己的文件夹,这样它们就不会与另一个同名的文件夹发生潜在的冲突。如果你想让多个SWF访问一个SO,那么你需要为SO指定一个实际的路径,而不是允许Flash为你创建一个。这迫使SWF读/写相同的内容。

    这篇文章包含了更深入的解释和一些不同的解决方案:

    http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d80.html

        2
  •  3
  •   www0z0k    14 年前

    根路径是:

    C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\
    

    但对于www.example.com/res/flash/file1.swf和www.example.com/res/flash/file2.swf,它将是:

    C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\www.example.com\res\flash\file1.swf\
    

    以及:

    C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\www.example.com\res\flash\file2.swf\