读书人

很简单的代码但还编译异常新手

发布时间: 2012-03-07 09:13:51 作者: rapoo

很简单的代码,但还编译错误,新手求助。
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Control extends MovieClip {

private var mark:Mark;
private var gameover:Gameover;
private var pContainer:MovieClip;

public function Control() {
pContainer=this;

var mark=new Mark();
mark.x=100;
mark.y=100;
pContainer.addChild(mark);

var gameover=new Gameover();
gameover.x=300;
gameover.y=300;
gameover.addEventListener(MouseEvent.CLICK,playClick);
pContainer.addChild(gameover);
}

function playClick(e:MouseEvent):void {
trace(pContainer.numChildren);
pContainer.removeChild(mark);
}

}
}

报错TypeError: Error #2007: 参数 child 不能为空。
trace(pContainer.numChildren);输出是2,正确
问题出在pContainer.removeChild(mark);程序好像直接认为mark是null
花很长时间都找不到问题的所在,求助

[解决办法]
public function Control()
{
pContainer = this;
//var mark = new Mark ;//这里声明了var mark,表示mark为函数内的局部变量,改为下面
mark=new Mark();

读书人网 >Flash

热点推荐