Когда я заархивирую свой демонстрационный проект FlashDevelop .. почему он ломается? - PullRequest
0 голосов
/ 13 мая 2010

Я создал галерею изображений AS3 с помощью FlashDevelop.

Прежде чем заархивировать приложение, я могу запустить галерею изображений в своем браузере, просто открыв index.html для проекта. Все отлично работает.

Затем я заархивирую проект как proj-0.1.2.zip, используя winrar.

Затем я распаковываю этот вновь созданный zip-файл и пытаюсь загрузить приложение, используя файл index.html проекта, как описано выше. Галерея не работает должным образом. Видя, что происходит, создается впечатление, что метаданные изображения отсутствуют (но я не уверен, см. Ниже).

Есть и другие приложения, которые не работают. Видео не загружается. Если приложение не зависит от каких-либо внешних ресурсов, все выглядит хорошо.

Другое дело ... Если я тогда соберу проект FlashDevelop и повторно опубликую swf ... тогда он будет работать в index.html так, как я хочу. Что здесь происходит?

Я хочу, чтобы люди могли запускать мои демонстрационные приложения из коробки, просто запустив index.html. Если это не всегда работает, и они должны выяснить, что им нужно восстановить SWF, то это довольно плохо.

1 Ответ

1 голос
/ 15 мая 2010

Я не думаю, что архивирование - это проблема, я думаю, что перемещение в другую папку - это проблема.

Я предполагаю, что вы используете этот index.html на локальном ПК, а не на веб-сервере?

По умолчанию Flash не может получить доступ из локального SWF для загрузки других локальных файлов. Тем не менее, FlashDevelop / Flash CS3 / Flex Builder, чтобы обойти это ограничение, установите некоторые флаги во флеш-плеере, говоря ему: «Этот SWF-файл является доверенным SWF-файлом, разрешите ему открывать локальные файлы». Но он основан на точном местонахождении SWF.

Где-то в компиляторе есть настройка, которая устанавливает флаг в SWF, говорящий «Этот SWF может обращаться к локальным данным», но есть один недостаток: он блокирует весь доступ к сетевым ресурсам. Так что это либо / или: доступ к локальным данным, ИЛИ доступ к сетевым ресурсам (все, что идет через HTTP, Socket и т. Д.). Я не уверен, где эта настройка не по назначению. Возможно, настройка по умолчанию для Flash CS3 отличается от настройки по умолчанию для FlashDevelop.

В любом случае, простой способ избежать этой проблемы - не запускать файл локально. Перед тестированием поместите его на свой веб-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...