AS3 Removechild Addchild问题/错误

时间:2012-01-19 00:54:29

标签: actionscript-3 bitmap bitmapdata removechild addchild

我一直在寻找几个小时的答案:

我的节目:

步骤I)当我点击一个按钮时,它会通过addchild显示一个位图; 步骤II)当我点击另一个按钮时,它应该通过removechild删除位图;

步骤I)完美无缺,但步骤II)不起作用。

您可以在下面找到我的代码的某些部分:

首先,我宣布:

public var ajoutcarte4:MovieClip;

其次,在我写的主要功能中:

var ajoutcarte4:Bitmap = new Bitmap();

然后,在第一个按钮触发的子函数中,我将Bitmap添加到舞台上(fl_bitmap是一个返回Bitmap项的函数):

ajoutcarte4 = fl_bitmap(couleur4+figure4);
ajoutcarte4.x=445;
ajoutcarte4.y=370;
addChild(ajoutcarte4);

到目前为止一直很好,但是当我想通过第二个按钮触发的另一个子功能移除孩子时:

removeChild(ajoutcarte4);

它不起作用,因为ajoutecarte4显然是空的...错误2007年,当我的情况变得红了......

2 个答案:

答案 0 :(得分:1)

更改此

public var ajoutcarte4:MovieClip;

public var ajoutcarte4:Bitmap;


然后完全取出这条线

var ajoutcarte4:Bitmap = new Bitmap();


并且非常地

// add this like with this code
ajoutcarte4 = new bitMap()
ajoutcarte4 = fl_bitmap(couleur4+figure4);
ajoutcarte4.x=445;
ajoutcarte4.y=370;
addChild(ajoutcarte4);

答案 1 :(得分:0)

你已经声明了一个类型为MovieClip的字段 ajoutcarte4,但是在你的函数中,你声明了一个类型为Bitmap的局部变量 ajoutcarte4,然后将其添加到阶段。

在第二个函数中,您尝试删除从未实例化的字段 MovieClip,从而产生错误。

将您的声明更改为:

public var ajoutcarte4:Bitmap;

并致电:

ajoutcarte4 = new Bitmap(); 

(没有var)。然后一切都应该正常工作。