Flash AS3:addChild()不显示导入的movieclip
我与IDE打了一整天的交道,了解到在AS3中,lib符号的导出类名很重要 我有你好,佛罗里达。在其中,我创建了一个带有字符串(“hello”)的简单文本字段-将其转换为符号(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 使类名为“你好” 导出为已选中的状态 选中第一帧中的导出 一旦我做了所有这些,我就在舞台上用核弹炸了那个实例。我想我以后可能会添加
private var h:MovieClip;
//...
h = new Hello();
this.addChild(h); //no joy
- 使类名为“你好”李>
- 导出为已选中的状态
- 选中第一帧中的导出
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中没有根。您可以“模拟它”,但它不像过去那样是一个神奇的语言变量。