我一直在寻找几个小时的答案:
我的节目:
步骤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年,当我的情况变得红了......
答案 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
)。然后一切都应该正常工作。