AS3无法访问的方法 - 一切都是明确公开的

时间:2011-03-03 10:22:05

标签: flash actionscript-3 actionscript compiler-errors

在Flash CS5中我得到了 1195:通过具有静态类型Doc的引用尝试访问不可访问的方法testFunc 在编译时无法理解我已经彻底煮熟的情况。

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 bug ......

1 个答案:

答案 0 :(得分:3)

您可能需要在源路径http://labs.adobe.com/downloads/textlayout.html

中包含textLayout.swc

注意:成功的答案在评论中