Animazione #2

Le 12 immagini sono visualizzate in sequenza con l’aiuto di un Timer, realizzando l’animazione

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;

public class Animazione_1 extends    Applet
                          implements ActionListener
{
   final int ms=100;
   Timer     t;
   final int nFrame=12;
   int       frame;
   Image     iFrame[];

   public void init()
   {
      iFrame=new Image[nFrame];
      for(int i=0; i < nFrame; i++)
          iFrame[i]=getImage(getCodeBase(), "PT_anim" + i + ".gif");
      frame=0;
      t=new Timer(ms, this);
      t.start();
   }
   public void paint(Graphics g)
   {
      g.drawImage(iFrame[frame], 0, 0, this);
   }
   public void actionPerformed(ActionEvent e)
   {
      frame++;
      if(frame == nFrame)
         frame=0;
      repaint();
   }
}

Osserva

  1. getImage(), drawImage()
  2. Timer, start(), ActionListener, actionPerformed(), ActionEvent