1

扯掉我的头发。我创建了一个 as3 类 - blah.Foo,它扩展了 MovieClip。它不在包中,因为 Flash CS3 抱怨嵌套包,所以它是一个“裸”类。

是的,它嵌套在myproj/as/blah/Foo.as 中 ,是的,它在文件顶部导入 flash.display.MovieClip。

我也有myproj/fla/main.fla。main.fla 设置为针对 flash player 9 发布为 AS3。 main.fla 具有包含 myproj/as/ 的类路径

在 main.fla 中的 frame1 scene1 上:

import blah.Foo;
var myfoo:Foo = new Foo();
stop();

编译器在 Foo.as 中的 Foo 类定义处死掉:

import flash.display.MovieClip;
class blah.Foo extends MovieClip //<=== dies here
{
    //whatever...
}

它抱怨说: “1017:未找到基类 MovieClip 的定义”。

有人请帮忙!怎么会找不到AS3中最基本的类之一?!!

4

2 回答 2

2

Actionscript 3.0 不像 AS2 那样工作

尝试这个

package blah
{
    import flash.display.Movieclip;

    public class Foo extends MovieClip
    {
    ...

读一读

希望这可以帮助。

于 2009-11-06T05:33:08.157 回答
0

记住:

  • 尽管私有类尚未在 ECMAScript 中实现,但在包之外声明一个类会使其“表现”就像一个。因此,您从主文档访问课程时遇到问题。

  • 一旦进入包,您应该指定您希望如何访问该类。使用“public”修饰符声明您的类将允许从包外部访问您的类。

R~

于 2009-11-06T06:08:31.740 回答