Actionscript 3 AS3:已添加子项,但未显示
当我创建Actionscript 3 AS3:已添加子项,但未显示,actionscript-3,movieclip,addchild,Actionscript 3,Movieclip,Addchild,当我创建ItemView的一个实例并将其添加到stage时,“Title”显示,但蓝色方框不显示。但是,如果我在this而不是\u extra上调用graphics,我确实会看到蓝色方块。这告诉我extra本身没有正确显示,但我不明白为什么 我错过了什么?将一个MovieClip添加到另一个是否有特殊程序?尝试删除 public class ItemView extends MovieClip { private var _title:TextField; private var _e
ItemView
的一个实例并将其添加到stage时,“Title”显示,但蓝色方框不显示。但是,如果我在this
而不是\u extra
上调用graphics
,我确实会看到蓝色方块。这告诉我extra本身没有正确显示,但我不明白为什么
我错过了什么?将一个MovieClip
添加到另一个是否有特殊程序?尝试删除
public class ItemView extends MovieClip {
private var _title:TextField;
private var _extra:MovieClip;
public function ItemView( ) {
setup();
return;
}
private function setup( ):void {
trace("ItemView::setup()");
_title = new TextField();
_title.text = "Title";
addChild(_title);
_extra = new MovieClip();
_extra.width = 200;
_extra.height = 40;
_extra.graphics.beginFill(0x0000ff);
_extra.graphics.drawRect(0, 0, 20, 20);
_extra.graphics.endFill();
addChild(_extra);
return;
}
}
尝试删除
public class ItemView extends MovieClip {
private var _title:TextField;
private var _extra:MovieClip;
public function ItemView( ) {
setup();
return;
}
private function setup( ):void {
trace("ItemView::setup()");
_title = new TextField();
_title.text = "Title";
addChild(_title);
_extra = new MovieClip();
_extra.width = 200;
_extra.height = 40;
_extra.graphics.beginFill(0x0000ff);
_extra.graphics.drawRect(0, 0, 20, 20);
_extra.graphics.endFill();
addChild(_extra);
return;
}
}
有点怪
设置MovieClip对象的宽度/高度时,Flash内部也会调整scaleX
和scaleY
属性。例如,如果原始宽度为100,而现在您已将其设置为200,则新的scaleX
应为2。这意味着Flash将以2倍的比例水平显示
现在,最初宽度为0(空白对象),因此当您设置新宽度时,新的scaleX
应变为无穷大-或0,就像Flash所做的那样
因此,即使你在对象上画了一些东西,它仍然处于零比例,这就是为什么什么都不显示。补救方法,如另一张海报所建议的,是为了避免在空白对象上设置宽度/高度,或者在绘图完成后,将代码< > SCAXEX <代码>和<代码> SCALY 重置为1。< /P>
_extra.width = 200;
_extra.height = 40;
有点怪
设置MovieClip对象的宽度/高度时,Flash内部也会调整scaleX
和scaleY
属性。例如,如果原始宽度为100,而现在您已将其设置为200,则新的scaleX
应为2。这意味着Flash将以2倍的比例水平显示
现在,最初宽度为0(空白对象),因此当您设置新宽度时,新的scaleX
应变为无穷大-或0,就像Flash所做的那样
因此,即使你在对象上画了一些东西,它仍然处于零比例,这就是为什么什么都不显示。补救方法,如另一张海报所建议的,是为了避免在空白对象上设置宽度/高度,或者在绘图完成后,将代码< > SCAXEX <代码>和<代码> SCALY 重置为1。< /P>
_extra.width = 200;
_extra.height = 40;
我不确定这解决了什么问题,但您几乎不应该在IDE之外使用MovieClip。改用Sprite类。MovieClip有很多无用的开销。我不确定这是否解决了任何问题,但您几乎不应该在IDE之外使用MovieClip。改用Sprite类。MovieClip有很多无用的开销,嗯?为什么?这是怎么造成的?设置高度和宽度怎么可能有这种效果?“除了文本字段和视频对象外,没有内容的显示对象(如空精灵)的宽度为0,即使您尝试将宽度设置为不同的值。”@Chris,请指出。画完矩形后,你可以随意调整宽度和高度。嗯?为什么?这是怎么造成的?设置高度和宽度怎么可能有这种效果?“除了文本字段和视频对象外,没有内容的显示对象(如空精灵)的宽度为0,即使您尝试将宽度设置为不同的值。”@Chris,请指出。绘制矩形后,可以根据需要调整宽度和高度。