Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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 添加敌人_Actionscript_Actionscript 3 - Fatal编程技术网

Actionscript 添加敌人

Actionscript 添加敌人,actionscript,actionscript-3,Actionscript,Actionscript 3,好的,我有一把激光枪,它可以发射激光(嗯,是的),叫做laser_-mc,我现在正在攻击敌人。但有一个问题。当我添加名为bad的敌人时,它们会被添加、删除,然后在其他地方重新出现 这是我的密码。我做错了什么 var badadd:bad; badadd = new bad() addEventListener(Event.ENTER_FRAME, createbad); function createbad(event:Event):void { addChild(badadd);

好的,我有一把激光枪,它可以发射激光(嗯,是的),叫做laser_-mc,我现在正在攻击敌人。但有一个问题。当我添加名为
bad
的敌人时,它们会被添加、删除,然后在其他地方重新出现

这是我的密码。我做错了什么

var badadd:bad; badadd = new bad()

addEventListener(Event.ENTER_FRAME, createbad);
function createbad(event:Event):void {
    addChild(badadd);
    badadd.x = Math.random()*stage.width;
    badadd.y= Math.random()*stage.height;
}

addEventListener(Event.ENTER_FRAME, removebad);
function removebad(event:Event):void {
    if (laser_mc.hitTestObject(badadd)) {
        removeChild(badadd);
    }
}

它们将被删除并放置在其他位置,因为您在此处使用的是enter_frame循环。每一次当一帧勾出你的程序在一个随机位置添加相同的敌人。所以它在一个随机的地方添加,删除,然后在一个随机的地方重新添加

您可能想尝试以下方法:

建立一个for循环并用敌人填充一个数组。将数组声明为类属性\,EnemyArray。Like(伪代码):

现在,当您需要添加敌人时,它已经被实例化,因此您只需执行以下操作:

addChild(tempEnemy[index]);   
现在,您可以在阵列中循环进行命中测试等


如果这过于概念化,请告诉我,我会把代码写得更详细一些。

是的,我不太了解所有这些,我知道问题是什么,但不知道如何解决它。哦,是的,我没有上课,我想我会让你知道的
addChild(tempEnemy[index]);