ActionScript 3 SharedObjects не сохраняется в разных SWF-файлах? - PullRequest
1 голос
/ 20 октября 2010

Я обслуживаю двух разных swfs, которые читают и пишут в одну и ту же переменную SharedObject.Переменная SharedObject является числом, и каждый swf проверяет это число, чтобы убедиться, что он не использует один и тот же номер дважды.Затем он сохраняет последний выбранный номер.Таким образом, оба SWF-файла никогда не должны использовать один и тот же номер дважды, независимо от того, в каком порядке они загружены.

Если я многократно загружаю один из swfs, работает непрерывное вращение.Однако при переключении туда и обратно между swfs иногда число повторяется.SharedObjects должен быть глобальным для Flash Player, так почему это произошло?

Спасибо

Ответы [ 2 ]

3 голосов
/ 21 октября 2010

Разделяемым объектам фактически присваивается собственная папка, чтобы они потенциально не сталкивались с другим SO с таким же именем. Если вы хотите, чтобы несколько SWF-файлов обращались к одному SO, вам нужно указать фактический путь для SO, а не позволять Flash создавать его для вас. Это заставляет SWF читать / записывать одно и то же SO.

Вот статья, которая содержит более глубокое объяснение и несколько различных решений:

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

3 голосов
/ 21 октября 2010

SharedObjects зависят от имени файла и от местоположения корневой путь:

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\
...