Определения фантомных классов во Flash CS5? - PullRequest
0 голосов
/ 16 июня 2010

Я пытаюсь заставить 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, которые появляются пустыми, похоже, лгут.

Есть идеи, что может происходить?

Ответы [ 2 ]

1 голос
/ 28 декабря 2010

Да, я тоже это видел.Тогда я начал искать учебники.Похоже, Adobe оставил физическую панель, но оставил ее в Physics API.Вы все еще можете использовать нативную физику, используя Actionscript.

Я нашел этот урок

http://heftybyte.com/flash/flash-cs5-physics/

0 голосов
/ 21 ноября 2010

Немного поздно, но я столкнулся с той же проблемой с Motor2.Оказывается, Мир - это недокументированный класс, который является частью встроенного физического движка Flash CS5.Вы можете обойти проблему, полностью квалифицировав ссылку на World, но это не остановит ее от ошибок в самой библиотеке.

...