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

📄 usemediatracker.java

📁 java小游戏代码
💻 JAVA
字号:
// 程序:使用图像追踪
// 范例文件:UseMediaTracker.java

import java.net.*;
import java.awt.*;
import java.applet.*;

public class UseMediaTracker extends Applet
{
   int          AppletWidth,AppletHeight,Ascent,Descent,StringWidth,X,Y;
   Image        Bg,Ship1,Ship2,Plane1,Plane2;
   MediaTracker MT;

   public void init()
   {
     AppletWidth  = getSize().width;   //取得Applet的显示宽度
     AppletHeight = getSize().height;  //取得Applet的显示高度

      //指定必须取得的图像
      Bg     = getImage(getDocumentBase(),"Images/1.gif");
      Ship1  = getImage(getDocumentBase(),"Images/3.gif");
      Ship2  = getImage(getDocumentBase(),"Images/4.gif");
      Plane1 = getImage(getDocumentBase(),"Images/5.gif");
      Plane2 = getImage(getDocumentBase(),"Images/6.gif");

      MT = new MediaTracker(this);     //建立MediaTracker类实体
  
      //将必须取得的图像加入追踪清单中
      MT.addImage(Bg    ,0);
      MT.addImage(Ship1 ,0);
      MT.addImage(Ship2 ,0);
      MT.addImage(Plane1,0);
      MT.addImage(Plane2,0);

      try
      {        
         showStatus("图像加载中...");  //在状态列显示信息
         MT.waitForAll();              //等待所有图像下载
      }
      catch(InterruptedException E){ }    
   }

   public void paint(Graphics g)
   {
      //如果图像下载发生任何错误的话...
      if((MT.statusAll(false) & MediaTracker.ERRORED)  != 0)
      {
         FontMetrics FM = g.getFontMetrics();

         Ascent      = FM.getAscent();
         Descent     = FM.getDescent();
         StringWidth = FM.stringWidth("加载图像发生错误...");

         X = (AppletWidth - StringWidth) / 2;
         Y = (AppletHeight - (Ascent + Descent)) / 2 + Ascent;

         setBackground(Color.black);               //背景设为黑色
         g.setColor(Color.white);                  //字符串设为白色 
         g.drawString("加载图像发生错误...",X,Y);  //置中显示字符串

         return;                                   //结束函数执行
      }   
     
      //如果正确下载所有图像则将所有图像绘制在Applet中
      g.drawImage(Bg ,0,0,320,240,this);
      g.drawImage(Ship1 ,20,140,80,80,this);
      g.drawImage(Ship2 ,180,140,80,80,this);
      g.drawImage(Plane1,30,10,100,100,this);
      g.drawImage(Plane2,250,50,50,50,this);
   }
}

⌨️ 快捷键说明

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