【问题标题】:Trying to get AS3 to detect collision but get Error 1009 (Null Object)试图让 AS3 检测碰撞但得到错误 1009(空对象)
【发布时间】:2017-08-01 15:37:41
【问题描述】:

我刚刚开始学习 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.请下次粘贴完整的错误消息或链接到错误页面。人们不记得每个错误代码。就像我不知道error 1009 是什么,如果我不检查码头并且它肯定不会说“空对象”。空object.2可能导致许多错误。使用调试器播放器 - 它会为您提供导致问题的确切行号。如果您使用 Flash/Animate 编译,只需按 ctrl+shift+enter 而不是 ctrl+enter。

标签: actionscript-3 collision


【解决方案1】:

本质上,您正在尝试对没有值的变量执行某些操作。

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

【讨论】:

  • 是的!谢谢,问题是说变量是什么的代码只在每次发射激光时才运行,所以有 1/6 的时间它是空的。
猜你喜欢
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多