我有這個ArrayList,我用來生成2類型的劍有1到5級。當我「拾起它」時,我希望它永遠消失。我如何處置那把劍?刪除「項目」時,它拾起/當我站在它
此代碼分配和生成劍(S)渲染器類:
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()
)如何刪除這個特定的劍時,我就可以了?
另外[ArrayList的在Java中實施例 - 如何使用ArrayList](http://examples.javacodegeeks.com/core-java/util/arraylist/arraylist-in-java-example-how-to- use-arraylist /)解釋ArrayList的使用情況 – dawez 2014-10-26 22:46:14