84. [junior] Относительные пути

junior – серия статей для начинающих ActionScript-разработчиков.
Все статьи серии:
http://flashpress.ru/blog/category/junior/

На первый взгляд, проблема описанная в этой статье может показаться не значительной и не требующей повышенного внимания. Однако, как показывает практика, многие начинающие разработчики допускают эту ошибку. Решение проблемы очень простое, но не все об этом догадываются.

Суть проблемы: Как правильно задавать относительные пути к загружаемым ресурсам во Flash приложении.

Если вы не знаете, относительный путь задается без http://www…, и, как понятно из названия, путь дается относительно файла который осуществляет загрузку.

Рассмотрим простой пример: домен вашего приложения называется mydomen.ru. В корне сервера лежит каталог /swf/, в котором лежит главная флешка приложения game.swf. В каталоге /swf/ лежит подкаталог modules/, внутри которого лежит флешка-модуль store.swf, которую необходимо загрузить во флешку game.swf. Также в корне сервера лежит каталог /images/, внутри которого лежит картинка image.png, которую так же необходимо загрузить во флешку.

Путь относительно флешки.

Если в браузере загружать флешку game по ссылке http://mydomen.ru/swf/game.swf, то в коде этой флешки, для загрузки модуля store.swf, можно использовать относительный путь:

Т.е. браузер берет текущий путь флешки game.swf: http://mydomen.ru/swf/, и дописывает в конец путь из параметра urlModule. В итоге получается путь http://mydomen.ru/swf/modules/store.swf.

Путь относительно корня сервера

Если же вам необходимо загрузить картинку из каталога /images/ который лежит в корне, то вам необходимо указать путь относительно корня сервера, а не относительно флешки game:

Обратите внимание, что для задания пути относительно корня, в начале ссылки используется символ / – косая черта. . В выше указанном примере картинка будет загружена по такому пути: http://mydomen.ru/images/image.png.

Внимание! Все, выше сказанное, как я уже говорил, имеет место в случае если вы загружаете флешку напрямую. Если же вы отображаете флешку в странице game.html, которая лежит в корне сервера (http://mydomen.ru/game.html), то относительные пути вам необходимо задавать не относительно флешки game.swf, а относительно HTML страницы, в которую загружена флешка game.swf, которая в свою очередь грузит ресурсы.

Путь относительно HTML страницы

Рассмотрим теперь случай когда у нас основная флешка отображается на странице game.html, которая лежит в корне сервера, иерархия файлов остается прежней:

Обратите внимание, что в начале ссылок не указывается символ корня сервера /, т.к. страница, которая отображает флешку, уже находится в корне сервера.


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

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 1265 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: