Изменить путь включения для ActionScript - PullRequest
0 голосов
/ 05 марта 2011

Я работаю над пользовательской библиотекой для Flash ActionScript3, и у меня есть несколько функций, которые я хотел бы добавить к Array.prototype.

Я поместил расширение в отдельный файл .as в папке в каталоге библиотеки, но когда я выполняю вызов include из моего класса документов, он пытается выполнить включение относительно местоположения файла .fla , а не исходный путь библиотеки.

Я уже добавил путь к lib к значениям Source Path: в ActionScript3 Advanced Settings, что подходит для моих операторов import.

Как мне получить путь include относительно пути библиотеки?

структура каталога:

flash/
  lib/libname/inc/array.as
  projectname/project.fla

включает, что не работает (но должно):

include "libname/inc/array.as";

включает, что работает, но не переносимо, если я перемещаю проект в другое место:

include "../lib/libname/inc/array.as";

1 Ответ

0 голосов
/ 05 марта 2011

Я осознал, как я вызывал директиву include.

Я сохранил свой класс документов в том же каталоге, что и файл .fla, потому что это класс, специфичный для проекта. Класс документа содержал директиву include, но класс, который был на самом деле с использованием расширенных функций Array, находился в пределах lib/libname.

Перемещение директивы include в файл .as, требующее расширенных функций, позволило вызывать директиву include относительно местоположения вызывающего класса, что позволило мне использовать include "../inc/array.as";, поскольку .as файл был в пределах lib/libname/utils/ClassName.as.

Таким образом, ответ на этот вопрос заключается в том, что путь включения относится к расположению вызывающего сценария, , а не проекта. Это означает, что любой сценарий в библиотеке может включать функции из библиотеки без проблем, поскольку структура будет сохранена.

...