⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 virtualbanner.java

📁 -
💻 JAVA
字号:
   import java.awt.*;
   import java.applet.*;
   public class virtualbanner extends Applet implements Runnable
   {
      Thread runner;
      private Image Buffer;
      private Graphics gBuffer;
      Image thyplane1, thyplane2, strain1, newcity1, station1, bridge, plane1, tree;
      int x, x1, x2=-200, x3=668;
      boolean moveRight	= true;
      boolean moveLeft	= true;
   
   //Initialisation before running Thread
   
      public void init()
      {
      //creating graphics buffer which will equal the size of the applet
         Buffer=createImage(size().width,size().height);
         gBuffer=Buffer.getGraphics();		
      
      //these are all the images that will be used in this applet
         thyplane1	= getImage(getCodeBase(),"thyplane1.gif");
         thyplane2	= getImage(getCodeBase(),"thyplane2.gif");
         strain1		= getImage(getCodeBase(),"strain1.gif");
         newcity1		= getImage(getCodeBase(),"newcity1.jpg");
         station1     	= getImage(getCodeBase(),"station1.gif");
         plane1       	= getImage(getCodeBase(),"plane1.gif");
         bridge       	= getImage(getCodeBase(),"bridge.gif");
         tree         	= getImage(getCodeBase(),"tree.gif");
      }
   //The thread starts here
      public void start()
      {
         if (runner == null)
         {
            runner = new Thread (this);
            runner.start();
         }
      }
      public void stop()
      {
         if (runner != null)
         {
            runner.stop();
            runner = null;
         }
      }
      public void run()
      {
         while(true)
         {
         //Thread will sleep for 15 milliseconds here
            try {runner.sleep(15);}
               catch (Exception e) { 
               }
         
         //train will move  right until it leaves applet
         //then let it appear again on the left side
         
            x++;
            if(x>size().width)
               x=-500;
         //the plane will be left with some speed which is 5 times faster
         //until it leaves applet then reappear at the right side of applet
         
            x1-=5;
            if(x1<-1200)
               x1=size().width;
         
         //this part is to move the planes until they reach a certain point which is out of the applet screen
         //then send them back to origin to restart their move
         
            if(moveRight==true)
            {
               if(x2<size().width+200)x2=x2+1;
               else
                  moveRight=false;
            }
            if(moveLeft==true)
            {
               if(x3>-200)
                  x3=x3-2;
               else
                  moveLeft=false;
            }
            if(moveRight==false)
               x2=-200;
            {
               if(x2<size().width+200)
                  moveRight=true;
            }
            if(moveLeft==false)
               x3=668;
            {
               if(x3>-200)
                  moveLeft=true;
            }
         //this will draw the background
         
            gBuffer.drawImage(newcity1,0,0,this);
         
         //this draws the planes moving across eachother
         
            gBuffer.drawImage(thyplane2, x2,2, this);
            gBuffer.drawImage(thyplane1, x3,42, this);
         
         //this one draws the aircraft moving with the higher speed
         
            gBuffer.drawImage(plane1, x1,90, this);
         
         //this draws the trees which will be painted before the train moving
         
            gBuffer.drawImage(tree, 49,181, this);
            gBuffer.drawImage(tree, 80,180, this);
            gBuffer.drawImage(tree, 105,182, this);	
            gBuffer.drawImage(tree, 285,180, this);
         
         //here the train is drawn as well as the railway by using drawline method
         
            gBuffer.drawLine(0,230,468,230);
            gBuffer.drawImage(strain1, x,207, this);
         
         //the bridge that the train is crossing is drawn here
            gBuffer.drawImage(bridge, 0,231, this);
         
         //This is the train station that the train in this applet never stops
            gBuffer.drawImage(station1, 185,198, this);
         
         //once again some more trees around the railway
            gBuffer.drawImage(tree, 26,180, this);
            gBuffer.drawImage(tree, 58,180, this);
            gBuffer.drawImage(tree, 359,184, this);
            gBuffer.drawImage(tree, 429,188, this);	
            gBuffer.drawImage(tree, 258,185, this);
            gBuffer.drawImage(tree, 306,180, this);
            repaint();
         }//end of while true
      }//end of run()
   
   //this is needed to avoid erasing the background by Java
      public void update(Graphics g)
      {
         paint(g);
      }//end of update
      public void paint(Graphics g)
      {
         g.drawImage (Buffer,0,0, this);
      }//end of  paint method
   
   }//end of virtualbanner class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -