ArrayListの最初の要素を読みたいと思います。問題は、私は 'エンティティがArrayListに変換することはできません'と言うエラーが返されるメソッドを構築するときです。私は値を返すためにforeachを使用しているので、return関数はパブリックArrayListである必要があります。誰かが私が何を間違えているのか、これを改善するために何ができるのか教えていただけますか?エンティティをArrayListに変換できません<Entity>
エンティティマネージャ(パブリックArrayList)が機能しません。
public class EntityManager {
private Handler handler;
private Player player;
private ArrayList<Entity> entities;
private int counter = 0;
private Comparator<Entity> renderOrder = new Comparator<Entity>(){
@Override
public int compare(Entity a, Entity b) {
if(a.getY() + a.getHeight() < b.getY() + b.getHeight())
return -1;
return 1;
}
};
public EntityManager(Handler handler, Player player){
this.handler = handler;
this.player = player;
entities = new ArrayList<Entity>();
addEntity(player);
}
public void tick(){
Iterator<Entity> it = entities.iterator();
while(it.hasNext()){
Entity e = it.next();
e.tick();
if(!e.isActief()){
it.remove();
counter();
if(counter > entities.size() + 1){
player.eindspel = true;
}
}
}
entities.sort(renderOrder);
}
public void render(Graphics g){
for(Entity e : entities){
e.render(g);
}
player.postRender(g);
}
public ArrayList<Entity> getEntities() {
return entities.get(0);
}
public void counter(){
counter++;
}
public void addEntity(Entity e){
entities.add(e);
}
public void setHandler(Handler handler) {
this.handler = handler;
}
public void setPlayer(Player player) {
this.player = player;
}
public void setEntities(ArrayList<Entity> entities) {
this.entities = entities;
}
public Handler getHandler() {
return handler;
}
public Player getPlayer() {
return player;
}
}
私はGETENTITIES
から値を読み出すために使用していていますforeach for(Entity e : handler.getWereld().getEntityManager().getEntities()){
if(e.equals(this)){
continue;
}
if(e.getCollisionBounds(0, 0).intersects(ar)){
if(opslag.delete()){
e.delete(2);
}
}
}
E iはi「はリターンのエンティティで取得するエンティティを削除したいと交差するとき、私が望む結果があります。 get(0) '、私のエンティティの最初のエンティティarraylistです。そのメソッドだけがうまくいかず、私が 'リターンエンティティ'を使うと、最初のエンティティではなく、すべてのエンティティが削除されます。
私はあなたの 'getEntities()'メソッドのロジックを取得しません。そのメソッド名と戻り値の型は、あなたがいくつかのエンティティを返し、それでも 'return entities.get(0);'を呼び出していることを明確にしていますか?これはどうやって意味があるのでしょうか? – Tom
私は、すべてのエンティティがarraylistの最初のエンティティを取得するのではなく、getEntitiesメソッドを変更したいと考えています。 –