Actionscript 3 当MovieClip被添加到舞台上时,MovieClip儿童的孩子没有出现?
这个问题对我来说似乎很简单,但我一直无法解决它,也无法在任何地方找到答案 这是在名为Actionscript 3 当MovieClip被添加到舞台上时,MovieClip儿童的孩子没有出现?,actionscript-3,flash,Actionscript 3,Flash,这个问题对我来说似乎很简单,但我一直无法解决它,也无法在任何地方找到答案 这是在名为block的类的类构造函数中,block\u maker是调用构造函数的对象,是级别的一个实例 this.bitmap = new Bitmap(this.bitmap_data); this.addChild(this.bitmap); this.block_maker.stage_foreground.addChild(this); 在级别中,将后台_前台添加到后台,但不显示任何内容跟踪(st
block
的类的类构造函数中,block\u maker
是调用构造函数的对象,是级别的一个实例
this.bitmap = new Bitmap(this.bitmap_data);
this.addChild(this.bitmap);
this.block_maker.stage_foreground.addChild(this);
在级别
中,将后台_前台
添加到后台,但不显示任何内容<代码>跟踪(stage_前台.numChildren)代码>显示子级的正确计数,并且var temp=(this.stage_front.getChildAt(0));微量元素(儿童体温)代码>正确,但子对象的子对象实际上没有出现,舞台只是保持空白
当我将上述代码更改为
this.bitmap = new Bitmap(this.bitmap_data);
this.block_maker.stage_foreground.addChild(this.bitmap);
这些块作为level\u instance.stage\u front
的子块出现在舞台上,但是使用这种方法,位图没有适当的位置,因为它们没有位置数据。我可以简单地给出这个.bitmap
x
和y
的位置,它可以工作,但我很好奇,为什么它不能工作,当只是将位图作为子对象添加到块中,然后将其作为子对象添加到stage\u前台
我试着用一些其他对象类替换这个.bitmap
,比如我制作的一个临时MovieClip
,或者一个形状
,但是什么都没有显示,所以我知道它与它是位图
没有关系,尽管它不是必需的,我建议让类名以大写字母开头,变量总是以小写字母开头。这是AS3中常见的“规则”,主要是为了避免混淆
问题很可能出在您使用此
;您正在做的是将此
添加到此
中。在我看来,这不是一种正确的编码方式
而且,由于所有其他尝试都无效;您是否尝试过让您想要的var添加一个公共静态变量?
var?如您所述
这是一个名为block、block\u maker的类的类构造函数
是调用构造函数的对象,是级别的实例
level类需要扩展显示对象才能显示。
换句话说
“这个”
必须是显示对象或以某种形式扩展它
这不起作用的原因
this.block_maker.stage_foreground.addChild(this);
这是真的
this.block_maker.stage_foreground.addChild(this.bitmap);
因为“this”不是显示对象,而“this.bitmap”是
但是这个.block\u生成器只是存储了对不同对象的引用,所以这个.block\u生成器实际上是对外部对象的引用,因此,如果我理解正确,我没有将这个添加到这个中。如果我错了,请纠正我!我也不确定,但据我所知,this
总是指编写this
实例的类。再说一遍,我也不完全确定,所以也许我应该更新一下我的AS3技能:P你是对的,但在中,something
可以是或多或少的任何东西,包括另一个类的实例,在本例中就是。
this.block_maker.stage_foreground.addChild(this.bitmap);