J'essaye de faire bouger mon cercle pour que je puisse continuer à dévoler mon petit jeu d'applet pour l'école, mais pour une raison quelconque, ça ne bouge pas et je n'arrive pas à comprendre pourquoi.Cercle ne bouge pas applet Java
public class StartingPonit extends Applet implements Runnable{
int x = 0;
int y = 0;
int dx = 1;
int dy = 1;
int radis = 20;
private Image i;
private Graphics doubleG;
@Override
public void init() {
setSize(800,600);
}
@Override
public void start() {
Thread thread = new Thread(this);
thread.start(); // thread info;
}
@Override
public void run() {
x =+ dx;
y =+ dy;
//thread info
while (true){
repaint();
try {
Thread.sleep(17);
} catch (InterruptedException ex) {
Logger.getLogger(StartingPonit.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
@Override
public void stop() {
}
public void destory() {
}
@Override
public void update(Graphics g) {
if(i == null){
i = createImage(this.getSize().width,getSize().height); //double bbuffering
doubleG = i.getGraphics();
}
doubleG.setColor(getBackground());
doubleG.fillRect(0,0, this.getSize().width,this.getSize().height);
doubleG.setColor(getForeground());
paint(doubleG);
g.drawImage(i, 0, 0, this);
}
@Override
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.fillOval(x-radis, y-radis, radis*2, radis*2); //size of object
}
}
Je ne sais pas ce que votre l'intention est - mais vous déplacez le cercle une fois et ensuite commencez votre boucle, donc il ne bougera qu'une seule fois –
Pour que le cercle bouge, x et y doivent changer. Cela ne signifie-t-il pas que le code pour modifier x et y devrait être à un endroit légèrement différent dans votre code? – fvu
1) Pourquoi coder une applet? Si cela est dû à spec. Par l'enseignant, veuillez les référer à [Pourquoi les enseignants CS devraient cesser d'enseigner des applets Java] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching-java-applets/). 2) Pourquoi AWT plutôt que Swing? Voir ma réponse sur [Swing extras sur AWT] (http://stackoverflow.com/a/6255978/418556) pour de nombreuses bonnes raisons d'abandonner l'utilisation des composants AWT. –