ciao a tutti, devo fare un programmino in cui c'è un loop di 5 immagini raffiguranti le varie fasi di corsa di un maratoneta che deve andare da sinistra a destra dell'applet. Una volta arrivato alla fine, deve girarsi e correre da destra a sinistra dell'applet (quindi altre 5 immagini raffiguranti il corridore di prima, specchiato).
Nel codice che ho fatto, il corridore va avanti e indietro, però le immagini sono sempre le prime 5.
Aiutatemi perchè non so proprio come farecodice:import java.applet.Applet; import java.awt.image.*; import java.awt.*; import java.awt.Graphics.*; public class Anim2Applet extends Applet { Image[] images = new Image[12]; int frame=0, x,i; public void init() { x=1; i=1; if (i<=1){ images[0] = getImage(getDocumentBase(), "Corridore0.jpg"); images[1] = getImage(getDocumentBase(), "Corridore1.jpg"); images[2] = getImage(getDocumentBase(), "Corridore2.jpg"); images[3] = getImage(getDocumentBase(), "Corridore3.jpg"); images[4] = getImage(getDocumentBase(), "Corridore4.jpg"); images[5] = getImage(getDocumentBase(), "Corridore5.jpg"); } else { images[0] = getImage(getDocumentBase(), "Corridore6.jpg"); images[1] = getImage(getDocumentBase(), "Corridore7.jpg"); images[2] = getImage(getDocumentBase(), "Corridore8.jpg"); images[3] = getImage(getDocumentBase(), "Corridore9.jpg"); images[4] = getImage(getDocumentBase(), "Corridore10.jpg"); images[5] = getImage(getDocumentBase(), "Corridore11.jpg"); } setBackground(Color.white); } public void paint(Graphics g) { if (x>=getSize().width-107) ++i; if (x<=0) --i; if (i<=1) x=x+15; else x=x-15; Graphics2D g2 = (Graphics2D)g; g2.drawImage(images[frame], x, 100, this); try { Thread.sleep(300); } catch (InterruptedException e) {} frame = (frame+1)%images.length; repaint(); } }![]()


Rispondi quotando