【发布时间】: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。