Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 当MovieClip被添加到舞台上时,MovieClip儿童的孩子没有出现?_Actionscript 3_Flash - Fatal编程技术网

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);