Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 试图获取AS3以检测冲突,但获取错误1009(空对象)_Actionscript 3_Collision - Fatal编程技术网

Actionscript 3 试图获取AS3以检测冲突,但获取错误1009(空对象)

Actionscript 3 试图获取AS3以检测冲突,但获取错误1009(空对象),actionscript-3,collision,Actionscript 3,Collision,我刚刚开始学习AS3,因为我必须为一个任务创建一个简单的游戏,我有两个对象名为obj_laser和obj_enemy1,但当我运行我创建的冲突代码时,它不断出现错误1009。这是一些代码,我知道它很混乱 stage.addEventListener(Event.ENTER_FRAME, runGame); function runGame(event: Event): void { //火焰激光器 LASERALARM++; if (LASERALARM >= 10) { var

我刚刚开始学习AS3,因为我必须为一个任务创建一个简单的游戏,我有两个对象名为obj_laser和obj_enemy1,但当我运行我创建的冲突代码时,它不断出现错误1009。这是一些代码,我知道它很混乱

stage.addEventListener(Event.ENTER_FRAME, runGame);
function runGame(event: Event): void {
//火焰激光器

LASERALARM++;
if (LASERALARM >= 10) {
    var laser: obj_laser = new obj_laser
    var laser2: obj_laser = new obj_laser
    var flare: obj_flare = new obj_flare
    var flare2: obj_flare = new obj_flare
    laser.x = obj_spaceship.x + 12
    laser.y = obj_spaceship.y
    laser2.x = obj_spaceship.x - 12
    laser2.y = obj_spaceship.y
    addChild(laser);
    addChild(laser2);
    flare.x = obj_spaceship.x + 12
    flare.y = obj_spaceship.y
    flare2.x = obj_spaceship.x - 12
    flare2.y = obj_spaceship.y
    addChild(flare);
    addChild(flare2);
    LASERALARM = 0;
//移动激光器

    laser.addEventListener(Event.ENTER_FRAME, moveLaser);
    function moveLaser(event: Event): void {
        laser.y -= 5;
        laser2.y -= 5;
    }
}
//滋生敌人

ENEMYALARM++
if (ENEMYALARM >= (randomRange(100, 400))) {
    var enemy1: obj_enemy1 = new obj_enemy1
    enemy1.x = (randomRange(15, 165));
    enemy1.y = -10;
    addChild(enemy1);
    ENEMYALARM = 0;
    //Move Enemy

    enemy1.addEventListener(Event.ENTER_FRAME, moveEnemy);
    function moveEnemy(event: Event): void {
        enemy1.y += 2;
    }
if (laser.hitTestObject(enemy1)) {
    parent.removeChild(laser);
    parent.removeChild(enemy1);
}
}

本质上,您正试图使用一个没有值的变量来执行某些操作


单击错误应该会将您带到代码中出现错误的地方。除此之外,开始在代码的不同点跟踪变量,以尝试确定它

本质上,您正试图使用一个没有值的变量执行某些操作


单击错误应该会将您带到代码中出现错误的地方。除此之外,开始在代码的不同点跟踪变量,以尝试确定它

是的!谢谢你,问题是代码上说变量是什么,只有在每次激光发射时才运行,所以有1/6的时间它是空的。是的!谢谢你,问题是代码上说变量是什么,只有在每次激光发射时才运行,所以有1/6的时间它是空的。1。请下次粘贴完整的错误消息或链接到错误页面。人们不记得每个错误代码。如果我不检查dock,并且它肯定没有显示“Null对象”,我就不知道什么是
错误1009
。空对象可能导致许多错误。2。使用调试器播放器-它将为您提供导致问题的确切行号。如果使用Flash/Animate进行编译,只需按ctrl+shift+enter而不是ctrl+enter。1。请下次粘贴完整的错误消息或链接到错误页面。人们不记得每个错误代码。如果我不检查dock,并且它肯定没有显示“Null对象”,我就不知道什么是
错误1009
。空对象可能导致许多错误。2。使用调试器播放器-它将为您提供导致问题的确切行号。如果使用Flash/Animate进行编译,只需按ctrl+shift+enter键,而不是按ctrl+enter键。