Java 删去“;项目「;当我站在上面时,它被拾起了
我有一个ArrayList,我用它来生成2种类型的剑,等级从1级到5级。当我“捡起它”时,我希望它永远消失。我该如何处置那把剑 此代码分配并生成剑渲染器类:Java 删去“;项目「;当我站在上面时,它被拾起了,java,libgdx,Java,Libgdx,我有一个ArrayList,我用它来生成2种类型的剑,等级从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 Swor
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());
}
这是我的剑课:
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() {
}
}
公共类剑{
私人织物区雪碧;
公共向量2位置;
私有整数x,y;
私有整数大小;
私有随机r;
私有布尔值pickme=false;
公共国际水平;
公共剑(){
位置=新矢量2(x,y);
r=新随机数();
position.x=(r.nextInt(15))*GameRender.tilesize;
position.y=(r.nextInt(15))*GameRender.tilesize;
大小=GameRender.tilesize;
myLevel=r.nextInt(4);
sprite=getSprite();
System.out.println(myLevel);
}
私有纹理区域getSprite(){
如果(myLevel如果你想在拿起宝剑后永远删除它,你必须将它从宝剑列表中删除
if (sword.myLevel<3){
sword.pickMe();
swords.remove(sword);
}
if(swarm.mylevel)除了解释ArrayList崩溃的用法外,不知道它告诉了你什么?如果列表中某一点没有任何内容,就没有什么可以删除的。问题也可能是其他问题。我建议你阅读ArrayList教程,我会把它作为对你问题的评论发布给你。
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() {
}
}
if (sword.myLevel<3){
sword.pickMe();
swords.remove(sword);
}