如何从ArrayList中删除Sprite / Object?

时间:2015-06-10 14:38:59

标签: java arraylist libgdx sprite

我为需要删除的精灵创建了一个ArrayList,当精灵被触摸时,它们被添加到ArrayList中。

 //drawing the enemy that spawns and making them move

        public void draw(SpriteBatch batch){
            for(Sprite drawEnemy:enemies) {
                drawEnemy.draw(batch);
                drawEnemy.translateY(deltaTime * movement);
            touchInput(drawEnemy.getX(),drawEnemy.getWidth(),drawEnemy);//2nd method
            }

        }


     public void touchInput(float x,float w,Sprite sprite){
            float touchX=Gdx.input.getX();

            if(Gdx.input.justTouched()){
                if(touchX > x && touchX < x+w ){
                   removeEne.add(sprite);// Adding the current Sprite to the array list when touched
                }                        //removeEne is my ArrayList
            }

        }

2 个答案:

答案 0 :(得分:1)

Iterator<Sprite> it = removeEne.iterator();
while (it.hasNext()) {

    it.remove();

}

答案 1 :(得分:0)

我不太确定你要问的是什么,但是如果你想从ArrayList中删除sprite,你可以使用ArrayList.remove方法。你需要知道你想删除的精灵的索引,就像你在访问任何数组时需要这些信息一样。