I am making a missile interception strategy game, why does it give an error message when trying to removing enemy birds?
- How can the motion of the rocket be optimized ?
- Why aren't the enemies eliminated?
Here is my Build Rocket code...
stage.addEventListener(MouseEvent.CLICK, letsgoeasy)
function letsgoeasy(e: MouseEvent): void {
var Rocket: Hawk = new Hawk();
Rocket.x = p.x;
Rocket.y = p.y;
Rocket.scaleX = 0.2;
Rocket.scaleY = 0.2;
addChild(Rocket);
Rocket.addEventListener(Event.ENTER_FRAME, moveBullet);
function moveBullet(e: Event) {
}
var myTimer: Timer = new Timer(2000);
var speedF: Number = 5;
var RocketBox: Array = new Array;
Rocket.addEventListener(Event.ENTER_FRAME, follow);
function follow(e: Event): void {
myTimer.start();
if (enemyFleet[h].y > 100) {
for (var h: int = 0; h < enemyFleet.length; h++) {
Rocket.x -= (Rocket.x - enemyFleet[h].x) / speedF;
Rocket.x = Rocket.x + 2;
Rocket.y -= (Rocket.y - enemyFleet[h].y) / speedF;
Rocket.y = Rocket.y + 3;
RocketBox.push(Rocket)
}
}
//Fire Rocket part
var smoke: smoke_shell = new smoke_shell();
addChild(smoke);
smoke.scaleX = 0.1;
smoke.scaleY = 0.1;
smoke.x = Rocket.x
smoke.y = Rocket.y + 10
smoke.rotation = 0
smoke.color = 0xE77471;
smoke.blurX = 3;
smoke.blurY = 3;
smoke.strength = 100;
smoke.quality = 3;
removeChild(null);
}
// collision part
addEventListener(Event.ENTER_FRAME, collCkeck);
function collCkeck(e: Event): void {
for (var s: int = Rocket.length - 1; s >= 0; s--) {
if (Rocket.hitTestObject(enemyFleet[s])) {
enemyDeaths();
}
function enemyDeaths() {
removeChild(Rocket);
trace("Rocket");
removeChild(enemyFleet[s]);
enemyFleet.splice(s, 1);
}
}
}
}
My error:
TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/removeChild() at Function/TrackermissileRocket190714002_fla:MainTimeline/letsgoeasy/TrackermissileRocket190714002_fla:follow()[TrackermissileRocket190714002_fla.MainTimeline::frame1:101]
My game image:
