2012-01-19 83 views
0

我一直在寻找一个小时回答:AS3 removeChild之的addChild问题/错误

我的程序:

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

步骤1)完美地工作,但步骤2)不起作用。

你会发现下面的我的代码一些地方:

首先,我声明:

public var ajoutcarte4:MovieClip; 

其次,在主函数中我写道:

var ajoutcarte4:Bitmap = new Bitmap(); 

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

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

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

removeChild(ajoutcarte4); 

它不起作用,因为ajoutecarte4显然是空...错误2007时我得到红色的我的病情......

回答

0

你已经宣布 ajoutcarte4类型影片剪辑,但后来在你的函数,你声明局部变量 ajoutcarte4类型位图,然后将其添加到阶段。

在第二个函数中,您尝试删除字段 MovieClip,它从来没有被实例化 - 并因此产生错误。

你的宣言改成这样:

public var ajoutcarte4:Bitmap; 

,并呼吁:

ajoutcarte4 = new Bitmap(); 

(不var)。那么这一切都应该正常工作。

+0

非常感谢你!!!!完美的作品。你救了我的命:) :) – user1157439 2012-01-19 08:44:26

1

变化这

public var ajoutcarte4:MovieClip; 

public var ajoutcarte4:Bitmap; 


然后取出该行完全

var ajoutcarte4:Bitmap = new Bitmap(); 


而lastely

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

非常感谢:))))))) – user1157439 2012-01-19 08:44:42