每个随机时间(介于1,2和3秒之间)创建一个矩形和一个精灵,每个精灵产生一个矩形。
随机时间调用新的敌人方法:
person_p
同样的事情发生在矩形上:
public void newEnemy(){
Sprite enemy= Pools.obtain(Sprite.class);
enemy.set(enemySpr);
enemy.setPosition(200,150);
enemies.add(enemy);}
基本上当矩形和精灵产生它们向上移动时,在屏幕的顶部有另一个矩形。我想要在检测到碰撞时去除矩形和精灵。
@ Tenfour04我刚试过你的建议,但我仍然得到错误。
public void newRect(){
Rectangle rect=Pools.obtain(Rectangle.class);
rect.set(enemyRect);
rectangles.add(rect);
}
@ Tenfour04这是错误:
while (enemyIterator.hasNext()){
Sprite nextEnemy=enemyIterator.next(); //I get the error here..
if(enemySpr.getY()+enemySpr.getHeight()>=treeObj.treeSpr.getY()){
removeEnemy(nextEnemy);
}
答案 0 :(得分:0)
你可以把堆栈跟踪放在我不知道的另一边,也就是removeEnemy(...)以及它是如何工作的,但也许这会有所帮助:
while (enemyIterator.hasNext()){
Sprite nextEnemy=enemyIterator.next(); //I get the error here.. -> push stact trace
if(enemySpr.getY()+enemySpr.getHeight()>=treeObj.treeSpr.getY()){
enemyIterator.remove();
//removeEnemy(nextEnemy);
}
}