1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class test extends Applet{
/*on crée une image sur laquelle on va dessiner, PUIS afficher, ce qui va éviter que l'écran ne sintille trop et on déclare les
variables de position et de taille du bloc que l'on va déplacer*/
Image img=null; // on "déclare" l'image qui va servir à afficher le bloc
Graphics gi=null; // on déclare son "graphic"
int X=0, Y=0, tailleX=100, tailleY=50;
public void init(){
img=createImage(getSize().width, getSize().height);//on crée l'image à la taille de la zone de l'écran
gi=img.getGraphics(); // on attribue ce graphic à l'image
addKeyListener(new KeyAdapter(){ //on se sert d'un keyAdapter afin d'éviter d'avoir à appeler toutes les méthodes du keyListener
public void keyPressed(KeyEvent evt){
if(evt.getKeyCode()==evt.VK_RIGHT && X+tailleX<=getSize().width){X++; paindre();} //on contrôle qu'il ne soit pas trop à droite avant de le déplacer vers la droite
if(evt.getKeyCode()==evt.VK_LEFT && X>=0){X--; paindre();} //on contrôle qu'ils ne soit aps trop à gauche avant de le déplacer vers la gauche
if(evt.getKeyCode()==evt.VK_DOWN && Y+tailleY<=getSize().height){Y++; paindre();} // on contrôle qu'il ne soit pas trop bas avant de le faire descendre
if(evt.getKeyCode()==evt.VK_UP && Y>=0){Y--; paindre();} //on contrôle qu'il ne soit pas trop haut, puis on le fait monter
}
});
paindre();
}
public void paint(Graphics g){
g.drawImage(img, 0, 0, this); //paint l'image
}
public void update(Graphics g){paint(g);} //on évite que l'écran ne sintille en demandant à la méthode de simplement paindre par dessus sans rien effacer
public void paindre(){
gi.setColor(Color.white);// on prends la couleur d'arrière plan
gi.fillRect(0, 0, getSize().width, getSize().height); //on efface l'ancien bloque de l'image
gi.setColor(Color.black);//on prends la couleur d'avant-plan
gi.fillRect(X, Y, tailleX, tailleY); // on dessine le nouveau bloc sur l'image
repaint(); //on appel la méthode update, qui va paindre la méthode "paint()"
}
} |
Partager