Flash AS3:addChild()不显示导入的movieclip

Flash AS3:addChild()不显示导入的movieclip,flash,actionscript-3,flash-cs3,Flash,Actionscript 3,Flash Cs3,我与IDE打了一整天的交道,了解到在AS3中,lib符号的导出类名很重要 我有你好,佛罗里达。在其中,我创建了一个带有字符串(“hello”)的简单文本字段-将其转换为符号(movieclip),并执行以下操作: private var h:MovieClip; //... h = new Hello(); this.addChild(h); //no joy 使类名为“你好” 导出为已选中的状态 选中第一帧中的导出 一旦我做了所有这些,我就在舞台上用核弹炸了那个实例。我想我以后可能会添加

我与IDE打了一整天的交道,了解到在AS3中,lib符号的导出类名很重要

我有你好,佛罗里达。在其中,我创建了一个带有字符串(“hello”)的简单文本字段-将其转换为符号(movieclip),并执行以下操作:

private var h:MovieClip;
//...
h = new Hello();
this.addChild(h); //no joy
  • 使类名为“你好”
  • 导出为已选中的状态
  • 选中第一帧中的导出
一旦我做了所有这些,我就在舞台上用核弹炸了那个实例。我想我以后可能会添加一些额外的功能,所以我实际上还构建了一个Hello.as类,它扩展了MovieClip,并且位于默认pkg*中,整个fla构建得很好:

package 
{
    import flash.display.MovieClip;

    public class Hello extends MovieClip
    {
        public function Hello()
        {
        }
    }
}
现在,同一文件夹my main.fla使用文档类main和main.fla,如下所示:

private var h:MovieClip;
//...
h = new Hello();
this.addChild(h); //no joy
**在我开始工作之前,文件夹中没有任何内容:所有文件都在根文件夹中。*

如果您尝试root.addChild(h),它会工作吗


编辑:_root->root for AS3

您需要将其添加到后台,即

stage.addChild(h);
解决方案 假设库符号位于.fla内,例如Hello.fla:

package 
{
    import flash.display.MovieClip;
    import flash.text.TextField;

    /**
     * empty mc (blank stage) with a single library symbol containing whatever the hell you want (eg a shape). with settings:
     * class = Hello <=== this refers to a specific library symbol, not the entire Hello.fla and whatever else is on the stage when you build it.
     * export for AS : checked
     * export for runtime sharing (as Hello.swf) : checked <==== This was the step I'd missed
     * export in 1st frame : checked
     */
    public class Hello extends MovieClip
    {
        public function Hello()
        {
        }
    }
}

希望它能帮助像我这样刚接触AS3的新手。

好吧,“阶段”什么也没做,所以我尝试了“阶段”,我可以访问未定义的属性阶段:(我还尝试导入flash.display.Stage,这导致了另一个错误(#1061-通过静态类型类的引用调用可能未定义的方法addChild)。如果在将h.parent、h.x、h.y、h.alpha添加到stage后跟踪它,您会得到什么?我无法通过root或stage将其成功添加到stage。只有this.addChild编译。stage.addChild在.fla的根目录中产生错误#1061,“this”指的是stage的实例(这是一个类)。因此
this.addChild(h)
Week我试过了…我记录了x和y-它们都是0,这似乎是正确的(原点在左上角)。Omigosh…出于一些奇怪的原因,alpha是1(一)!!!为什么会是这样?嗯…将尝试强制alpha为100,看看会发生什么…错误。AS3中没有根。您可以“模拟它”,但它不像过去那样是一个神奇的语言变量。