撕掉我的头发。 我创建了一个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有classpath,包括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中最基本的课程之一?!!
答案 0 :(得分:2)
Actionscript 3.0不像AS2那样工作
试试这个
package blah
{
import flash.display.Movieclip;
public class Foo extends MovieClip
{
...
希望这会有所帮助。
答案 1 :(得分:0)
记住:
虽然ECMAScript中尚未实现私有类,但在包外部声明一个类使其“行为”就像一个类。因此,您的问题是从主文档访问该类。
进入包后,您应该指定您希望如何访问该类。使用'public'修饰符声明您的课程将允许从包外部访问您的课程。
R〜