import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.lang.*;
public class Nationday extends Applet implements Runnable{
MediaTracker tracker=null;
int frame_x=0;
boolean bz_load=false;
boolean bz_anima=false;
int current=0;
private boolean init=false;
private AudioClip m_Audio;
Image backImage=null;
Image myImage=null;
Image allImage[]=null;
Thread animation=null;
public void init()
{
if(init==false){
init=true;
tracker=new MediaTracker(this);
allImage=new Image[7];
for(int x=0;x<7;x++)
allImage[x]=getImage(getCodeBase(),"Mrabo"+x+".gif");
for(int x=0;x<7;x++)
tracker.addImage(allImage[x],x);
backImage=getImage(getCodeBase(),"50.gif");

}
}    public void Paint(Graphics g)
    {
     setBackground(Color.white);
     if(bz_load){
     bz_anima=true;
     g.drawImage(backImage,0,0,this);
     g.drawImage(allImage[current],frame_x,0,this);
    
     }
     else{
     g.drawString("画面截入中,请稍候.....",0,20);
     }
    }
    public void start()
    {
     String strAudio="sapcemusic";
     m_Audio=getAudioClip(getDocumentBase(),strAudio);
     if(m_Audio!=null)
     m_Audio.loop();
     if(animation==null){
     animation=new Thread(this);
     animation.start();
    
     }
    }
    public void stop()
    {
     if(m_Audio!=null)
     m_Audio.stop();
     if(animation!=null){
     animation.stop();
     animation=null;
     }
    }
    public void run()
    {  while(!CheckRoll())sleep(100);
     bz_load=true;
     while(true){
     roll(0,this.getSize().width-42);
    
     }
    }
    boolean CheckRoll()
    {
     boolean finish=true;
     for(int i=0;i<7;i++){
     if((tracker.statusID(i,true)&MediaTracker.COMPLETE)==0)
     finish=false;
     }
     return finish=false;
    }
    void roll(int begin,int end)
    {
     if(begin<end){
     for(int x=begin;x<end;x+=21){
     frame_x=x;
     repaint();
     current--;
     if(current==-1)current=3;
     sleep(150);
     }
     }
     else{
     for(int x=begin;x>=end;x-=21){
     frame_x=x;
     repaint();
     current++;
     if(current==7)current=0;
     sleep(150);
     }
     }
    }
    private void sleep(int a)
    {
     try{
     Thread.sleep(a);
     }
     catch(InterruptedException e){
     //System.out.println(e);
    
     }
    }
    public void update(Graphics g){
     g.clipRect(0,0,2000,2000);
     paint(g);
    }
}