java在我站在上面的时候删除“item”
我有一个ArrayList,我用它来生成两种类型的剑,等级从1级到5级。当我“捡起它”时,我希望它永远消失。那把剑怎么处理
此代码分配并生成剑渲染器类:
private List<Sword> swords = new ArrayList<Sword>();
Then in public Renderer() method I do:
for (int i = 0; i<10 ; i++ ) {
swords.add(new Sword());
}
当我站在上面时:
if(sword.myLevel<3){
sword.pickMe();
}
在render()
中,它们显示在屏幕上:
for (Sword sword : swords) {
sword.createMe();
}
这是我的剑课:
public class Sword {
private TextureRegion sprite;
public Vector2 position;
private int x, y;
private int size;
private Random r;
private boolean pickme = false;
public int myLevel;
public Sword() {
position = new Vector2(x, y);
r = new Random();
position.x = (r.nextInt(15))*GameRender.tilesize;
position.y = (r.nextInt(15))*GameRender.tilesize;
size = GameRender.tilesize;
myLevel = r.nextInt(4);
sprite =getSprite();
System.out.println(myLevel);
}
private TextureRegion getSprite() {
if(myLevel<3){
sprite=AssetLoader.s1;
}else sprite=AssetLoader.s2;
return sprite;
}
public void pickMe(){
//GameRender.batch.draw(sprite, 10, 10, size, size);
pickme = true;
}
public void createMeShape(){
//GameRender.shapeRenderer.rect(position.x, position.y, size, size);
}
public void createMe() {
//draws it
GameRender.batch.draw(sprite, position.x, position.y, size, size);
if(pickme){
//draws that im standing on it
GameRender.batch.draw(sprite, GameRender.playerx, GameRender.playery-10, size, size);
}
pickme=false;
}
public static void Update() {
}
}
忽略createMe()
中的整个(if pickMe()
)当我在剑上时,如何删除这把特定的剑
# 1 楼答案
如果你想在拿起宝剑后永远删除它,你必须将其从宝剑列表中删除