问题是当我击落我的敌人时,他会继续繁殖。可能是我忽略了什么。
我可以拍摄它,它被从舞台上移除,但会被重新渲染,因为它仍然存在于我的阵列中。
谢谢
private function enemySpawnen():void
{
for(var i:uint = 0; i < hoeveelheidEnemy;i++){
var enemyShip:SpaceShip = new SpaceShip();
Enemy[i] = enemyShip;
}
}
private function renderEnemy(e:Event):void
{
for(var i:uint = 0; i < hoeveelheidEnemy;i++){
if(Enemy[i] != null){
viewContainer.addChild(Enemy[i]);
Enemy[i].scaleX = 0.5;
Enemy[i].scaleY = 0.5;
Enemy[i].x = 500;
Enemy[i].y = 400 - i*100;
}
}
}
function shoot(e:Event):void
{
kogel.x +=10;
try{
for(var i:uint = 0; i < hoeveelheidEnemy;i++){
if(kogel.hitTestObject(Enemy[i])){
Enemy.splice(i,0);==>problem when i set it to 1 or i then nothing happens
viewContainer.removeChild(Enemy[i]);
//trace("hit");
}
}
}
catch(e:Error){
}
}
我的源代码可以在这里找到:http://dl.dropbox.com/u/50815831/Nieuwemap.zip
在拼接阵列之前,需要移除子阵列。你还需要向后迭代,这样你的索引就不会在循环中间改变。
尝试将for循环更改为以下内容:
for(var i:uint = Enemy.length-1; i >= 0;i--){
if(kogel.hitTestObject(Enemy[i])){
viewContainer.removeChild(Enemy[i]);
Enemy.splice(i,1); //do this after the above line, otherwise you're actually removing doing removeChild on the next item in the array
kogel.removeEventListener(Event.ENTER_FRAME, shoot); //stop the frame handler
break; //abandon the rest of this loop
}
}
如果Kogel
是一颗子弹,并且您希望它只影响一个敌人,那么一旦它摧毁了某些东西,您就需要打破循环。
作为良好实践的提示。你应该将射击功能/进入帧处理程序封装到你的Kogel类中,然后直接进入敌方阵法。
我还注意到,你让你的renderemy
函数每帧运行一次,这是完全不必要的,会导致不必要的定位。将该函数全部删除,并将代码放入您的enemySpawned()方法中:
private function enemySpawnen():void
{
for(var i:uint = 0; i < hoeveelheidEnemy;i++){
var enemyShip:SpaceShip = new SpaceShip();
Enemy[i] = enemyShip;
viewContainer.addChild(Enemy[i]);
Enemy[i].scaleX = 0.5;
Enemy[i].scaleY = 0.5;
Enemy[i].x = 500;
Enemy[i].y = 400 - i*100;
}
}
如何在打字稿中从数组中删除对象? 所以我想从所有对象中删除drug_id。我该如何实现呢?谢谢!
我知道有人问过这个问题,但我不能使用它的解决方案来做我想做的事情,我的问题是每次我从函数调用并输入一个Id,它总是告诉我Id被删除,即使我输入了一个从未输入的Id,它仍然打印相同的任何提示和帮助,将不胜感激:)注意:我不想在其中使用ArrayList这里是我的代码:
我在Jolt转换中有一个JSON对象数组的数组,但我需要将对象向上移动到顶层数组。我尝试添加另一个Shift,但这只是将对象移到相同的位置,或者将两个子对象的值放入一个值数组中。
我有一个关于查找数组中对象的计数的问题。我的数组是: 我试图在totalPositions数组中找到每个位置的总计数,因此我的最终数组将如下所示: 我创建了一个函数来求和“总位置”数组中的每个位置,并将总和推入总位置计数。我的函数完成了这项工作,我得到了总计数,但它改变了父数组“完整位置”,第一个“完整位置”的“总位置”被“总位置计数”数组替换。我试图创建一个备份的完整位置,并使用它的计算,仍然两
问题内容: 在Angular中,我在范围内有一个对象,该对象返回许多对象。每个都有一个ID(此ID存储在一个平面文件中,因此没有DB,而且我似乎无法使用) 在我的控制器中: 在我看来,我还有关于默认隐藏的鱼类的更多附加信息,但是当我单击简单的显示更多标签时,我想调用该函数。我的函数看起来像: 现在,在视图中将显示更多详细信息。但是,在搜索了文档之后,我无法弄清楚如何搜索该数组。 那么如何查询数组?