Rechercher : dans
Par :

Vitesse d'animation

Josée, le 11 avr 2006 à 20:30:41 
 Signaler ce message aux modérateurs

Bonjour,

J'ai créer un fichier .java dans lequel j'ai une animation d'image.

Ce que je désire maintenant, c'est ajouter c'est une barre de défilement horizontal qui fait l'incrémentation et la décrémation (10 millisecondes) de la vitesse d'animation. Mais voilà, je ne sais pas trop comment faire, est-ce que quelqu'un peut m'aider èa y voir plus clair ?

Merci!.

Voici le contenu de mon fichier .java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class AnimImages5 extends Applet implements Runnable {
private Thread animation = null;
Image [ ] tabImage = new Image [8];
Image indice;
int coordx = 15;
int coordy = 20;
int largeur = 200;
int hauteur = 150;
private boolean arret = false;

// Chargement du tableau d'images
public void init() {
for (int i=0; i < tabImage.length; i++){
tabImage[i] = getImage(getCodeBase(), "images/guepard"+(i+1)+".gif");
}
setBackground(Color.white);
MonMouseAdapter unMouseAdapter = new MonMouseAdapter();
this.addMouseListener(unMouseAdapter);
}

//Affichage de l'image définie dans la méthode run
public void paint(Graphics g) {
update(g);
}

//Affichage de l'image définie dans la méthode run
public void update(Graphics g) {
g.setColor(getBackground());
g.fillRect(coordx, coordy, largeur, hauteur);
g.setColor(getForeground());
g.drawImage(indice, coordx, coordy, this);
}

//Définit l'image à afficher et la pause à respecter entre chaque affichage
public void run() {
try {
animation.setPriority(animation.getPriority()-1);
}
catch (SecurityException s){}
catch (IllegalArgumentException i){}
int i = 0;
while(animation !=null) {
indice = tabImage[i];
repaint(coordx, coordy, largeur, hauteur);
i++;
if (i == 8)
i = 0;
try {
Thread.sleep(200);
} catch (InterruptedException e) { }
}
}

// Démarrage de l'applet, appelle automatique de la méthode run()
public void start() {
if (animation == null){
if (arret == false){
animation = new Thread(this);
animation.start();
}
}
}

// Arrêt de l'applet, arrêter l'exécution
public void stop() {
if (animation.isAlive())
animation = null;
}


class MonMouseAdapter extends MouseAdapter{
public void mouseClicked(MouseEvent event) {
Object objet = event.getSource();
if (objet == AnimImages5.this)
MouseApplet_MouseClicked(event);
}
}

//Changer la valeur à chaque clic de la souris
public void MouseApplet_MouseClicked(MouseEvent event) {
if (!arret){
arret = true;
stop();
}
else{
arret = false;
start();
}
}
}