Недоступный метод AS3 - все явно публично - PullRequest
2 голосов
/ 03 марта 2011

В Flash CS5 я получаю
1195: Попытка доступа к недоступному методу testFunc через ссылку со статическим типом Doc.
при компиляции и не может понять обстоятельства, которые я подробно описал.

MyDoc.as - Мой класс документов.

package {
   import flash.display.MovieClip;

   public class MyDoc extends MovieClip {
      public function MyDoc() {}

      public function myOtherFunc() : void {}

      public function myFunc() : void {}
   }
}

MyClass.as - связан с однокадровым фрагментом ролика без кода, содержащего только текстовое поле TLF.

package {
    import flash.display.MovieClip;

    public class MyClass extends MovieClip {
        public function MyClass( myDoc : MyDoc ) {
            myDoc.myFunc();
        }
    }
}

И это степень моего FLA - одного клипа.Пустая сцена, один кадр без кода.

Что меня действительно смущает, так это то, что я могу получить безошибочную компиляцию, если вычту внешне несвязанное текстовое поле TLF из уравнения, либо изменив его на классическое текстовое поле, либо удалив его, либо отменив связь с ним.содержащий MC из MyClass.
Я также могу избавиться от ошибки, удалив определение myOtherFunc () или переместив его ниже myFunc (), что мне пришлось сделать несколько раз, чтобы убедиться, что это правда.

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

Обновление: я только что подтвердил то же поведение в версии CS5 друга.Он использует Mac в отличие от моей установки Windows, и у него установлена ​​только версия CS5, в то время как у меня есть и CS5, и CS4.Это действительно кажется, что это может быть ошибка Flash ...

1 Ответ

3 голосов
/ 03 марта 2011

Возможно, вам потребуется включить textLayout.swc в исходный путь http://labs.adobe.com/downloads/textlayout.html

Примечание. Успешный ответ в комментариях

...