Я пытаюсь заставить FlashPunk работать в Flash CS5 IDE (не спрашивайте), и у меня возникают проблемы с его компиляцией.
В строгом режиме я получаю ошибку:
net/flashpunk/FP.as, Line 95
1119: Access of possibly undefined property _inherit
through a reference with static type World.
Как правило, это означает, что отсутствует определение переменной или класс, который компилируется, не может видеть эту переменную. Предположительно, фреймворк компилируется для других, поэтому я почти уверен, что это не проблема, но я все равно вошел и убедился, что переменные существуют, и установил эти переменные как открытые (они были установлены как внутренние), но ошибка по-прежнему произошло. Это было почти как если бы компилятор не видел определения свойств.
Если я отключаю «строгий режим», приложение компилируется, но затем я получаю эту ошибку:
ArgumentError: Error #1063:
Argument count mismatch on World().
Expected 2, got 0.
Теперь World - это класс в пакете FlashPunk. В определении класса для него конструктор не ожидает никаких аргументов:
public function World() { ...
... и, тем не менее, по какой-то причине Flash ожидает два аргумента. Так что кажется , что все правильно, но Flash каким-то образом ожидает чего-то другого, отличного от того, что определяет конструктор World.
Из-за этих двух проблем создается впечатление, что Flash получает какую-то другую фантомную версию другого класса с именем "World", которая имеет два аргумента конструктора и разные свойства.
Я вошел и проверил настройки ActionScript. Единственная внешняя ссылка на проект, на которую ссылаются, это по умолчанию "$ (AppConfig) / ActionScript 3.0 / libs". И я не использую свой собственный код, кроме одного файла "Main.as", который Engine Super Engine устанавливает для нескольких параметров - конечно, нет нового класса World.
С таким общим именем, как "World", я подумал, что, возможно, это зарезервированное имя класса во Flash или что-то подобное, может быть, оно импортировано из библиотек по умолчанию, упомянутых выше, но некоторые поиски в Google, которые появляются пустыми, похоже, лгут.
Есть идеи, что может происходить?