这个问题对我来说似乎很简单,但我一直无法修复它,或者在任何地方找到答案。将MovieClip添加到舞台时,MovieClip的儿童的孩子没有显示出来吗?
这是在类的构造函数中调用block
,block_maker
是调用构造函数的对象,level
的一个实例。
this.bitmap = new Bitmap(this.bitmap_data);
this.addChild(this.bitmap);
this.block_maker.stage_foreground.addChild(this);
在level
,stage_foreground
被添加到舞台上,但似乎什么都没有。 trace(stage_foreground.numChildren);
显示正确的儿童人数,并且var temp = (this.stage_foreground.getChildAt(0)); trace(temp.numChildren);
正确,但儿童的孩子实际上并没有出现,舞台只是保持空白。
当我更改上面的代码
this.bitmap = new Bitmap(this.bitmap_data);
this.block_maker.stage_foreground.addChild(this.bitmap);
块出现在舞台上,作为level_instance.stage_foreground
孩子,但该方法中,位图不适当地定位,因为它们没有位置数据。我可以简单地给出this.bitmap
x
和y
的位置,它的工作原理,但我很好奇,为什么它只是将位图添加到该块,然后将其作为子项添加到stage_foreground
时不起作用。
我已经尝试了一些其他对象类,来替换this.bitmap
如临时MovieClip
我做了,或Shape
,但没有显示出来,所以我知道它有什么用它做是一个Bitmap
。
但this.block_maker是简单地存储到不同的对象的引用,所以this.block_maker实际上是到外部对象的引用,并且因此,如果正确地明白,我不添加'this'进入'这个'。如果我错了,请纠正我的错误! – BumbleShrimp
我也不确定,但就我的知识而言,'this'总是指写入'this'实例的类。同样,我也不完全确定,所以也许我应该刷新自己的AS3技能有点:p – poepje
那么你是对的,但在'this.something'中,“something”可以是或多或少的东西,包括另一个类的实例,在这种情况下就是这样。 – BumbleShrimp