Возможный дубликат:
Рисование нескольких пикселей/прямоугольников
В своем коде я написал метод, который создает прямоугольник в mouseX, mouseY. но все, что он делает, это обновляет положение этого прямоугольника, чтобы он следовал за мышью, я хочу, чтобы он создавал новый на мыши каждый раз, когда запускается метод, может кто-нибудь помочь?
это мой метод
public void drawParticle(float x, float y){
g.drawRect(x, y, 4, 4);
}
Основной класс Control вызывает метод drawParticle;
import java.awt.Point;
import java.awt.geom.Point2D;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;
public class Control extends BasicGameState {
public static final int ID = 1;
public Methods m = new Methods();
public Graphics g = new Graphics();
int mouseX;
int mouseY;
public void init(GameContainer container, StateBasedGame game) throws SlickException{
}
public void render(GameContainer container, StateBasedGame game, Graphics g) throws SlickException {
m.drawParticle(mouseX, mouseY);
}
public void update(GameContainer container, StateBasedGame game, int delta) {
}
public void mousePressed(int button, int x, int y) {
mouseX = x;
mouseY = y;
}
public int getID() {
return ID;
}
}
Спасибо - Шамус
drawParticle
? - person Stefan Neubert   schedule 08.10.2012mousePressed()
сохраните значения x и y для классаPoint
, например (путем вызоваPoint point = new Point(x,y)
). Сохраните точку в некоторый ArrayList (или любую другую структуру данных). Просто убедитесь, что вы инициализируете свой ArrayList только один раз. ВmousePressed()
добавьте значение точки в ArrayList и, наконец, в рендере сделайте некоторый цикл, чтобы получить все точки и отрисовать их. Надеюсь, это поможет. - person Serhiy   schedule 08.10.2012