如何从班级中删除孩子

时间:2013-12-08 16:54:46

标签: actionscript-3 removechild

我正在做一个拖放游戏,我使用类将对象放在舞台上:

var dermOV:dermAnswer= new dermAnswer();
addChild(dermOV);
dermOV.name= "dermO";
dermOV.x=759.55;
dermOV.y=331.65;

var bodyOV:bodyAnswer= new bodyAnswer();
addChild(bodyOV);
bodyOV.name= "bodyO";
bodyOV.x=889.10;
bodyOV.y=331.65;

var faceOV:faceAnswer= new faceAnswer();
addChild(faceOV);
faceOV.name= "faceO";
faceOV.x=629.15;
faceOV.y=331.65;

如果您移动一个或放置它,它们将留在屏幕上,所以我尝试了:

if(stage.contains(dermOV)){
   removeChild(dermOV);}
if(stage.contains(faceOV)){
   removeChild(faceOV);}
if(stage.contains(bodyOV)){
   removeChild(bodyOV);}

但是我收到了这个错误:

TypeError:错误#1009:无法访问空对象引用的属性或方法。 在main_fla :: MainTimeline / gotattoo()[main_fla.MainTimeline :: frame1:46]

它也是使用在web查看器上设置的null再次执行此操作。 您是否有任何修复建议可以删除该错误?

1 个答案:

答案 0 :(得分:0)

您的输出表明您在gotattoo()功能中遇到问题。 此外,如果您的addChild(dermOV);位于MainTimeline的帧处,那么您应该尝试检查您是否位于舞台上,因为您将其作为MainTimeline对象的子对象。因此,如果在时间轴上检查了,你应该使用这种结构

thid.contains(dermOV);