Хорошо, так что все, что я хочу сделать, это создать простую java-программу, в которой есть аррайалист, полный объектов, в данном случае прыгающих шаров, которые можно добавить в игру. Как я хочу, чтобы он работал, вы запускаете программу, и это пустой экран. Вы нажимаете пробел, и он создает шар, который отскакивает с боков, прижимает пространство, и он делает больше шаров. Проблема, которую я имею, хотя это то, что я добавляю больше шаров, он устанавливает каждый элемент в arraylist в те же координаты x и y. Ох и им, используя библиотеки slick2D, но я не думаю, что проблема.Все объекты в arraylist имеют одинаковое значение
здесь является основной частью программы
public static ArrayList<EntityBall> ballList;
@Override
public void init(GameContainer gc) throws SlickException {
ballList = new ArrayList<EntityBall>();
}
@Override
public void update(GameContainer gc, int delta) throws SlickException {
String TITLE = _title + " | " + gc.getFPS() + " FPS" + " | " + ballList.size() + " entities";
frame.setTitle(TITLE);
Input input = gc.getInput();
if (input.isKeyPressed(Input.KEY_SPACE)) {
addBall();
}
}
public void render(GameContainer gc, Graphics g) throws SlickException {
for(EntityBall e : ballList) {
e.render(g);
}
}
public static void addBall() {
ballList.add(new EntityBall(getRandom(0, _width - ballWidth), getRandom(0, _height - ballWidth), 20, 20));
}
public static int getRandom(int min, int max) {
return min + (int) (Math.random() * ((max - min) + 1));
}
и Херес EntityBall Class
package me.Ephyxia.Balls;
импорт org.newdawn.slick.Color; import org.newdawn.slick.Graphics;
общественного класса EntityBall {
public static int x;
public static int y;
public static int height;
public static int width;
public EntityBall(int x, int y, int width, int height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
public void render(Graphics g){
g.fillOval(x, y, width, height);
}
}
Если вы считаете, что ответ rgettman был хорошим, вы можете принять его. (нажмите на галочку) – Justin