📄 gamemedia.java
字号:
import java.io.*;
import java.awt.*;
import java.applet.*;
public class GameMedia
{
private MediaTracker mediaTracker;
private GameApplet gameApplet;
public GameMedia(GameApplet applet)
{
this.gameApplet = applet;
this.mediaTracker = new MediaTracker(applet);
}
public byte[] loadData(String filename)
{
byte[] data = (byte[])gameApplet.getGameContext().getObject(filename);
if (data != null)
{
return data;
}
try
{
InputStream in = gameApplet.getClass().getResourceAsStream(filename);
data = new byte[in.available()];
for (int i=0 ; i<data.length ; i++)
{
data[i] = (byte)in.read();
}
gameApplet.getGameContext().addObject(filename, data);
}
catch(Exception e)
{
System.err.println("Data File ["+filename+"] not found");
}
return data;
}
public Image loadImage(String filename)
{
Image img = (Image)gameApplet.getGameContext().getObject(filename);
if (img != null)
{
return img;
}
try
{
InputStream in = gameApplet.getClass().getResourceAsStream(filename);
byte[] buffer = new byte[in.available()];
for (int i=0 ; i<buffer.length ; i++)
{
buffer[i] = (byte)in.read();
}
img = Toolkit.getDefaultToolkit().createImage(buffer);
gameApplet.getGameContext().addObject(filename, img);
mediaTracker.addImage(img, 0);
mediaTracker.waitForID(0);
}
catch(Exception e)
{
System.err.println("Image File ["+filename+"] not found");
}
return img;
}
public AudioClip loadAudioClip(String filename)
{
AudioClip clip = (AudioClip)gameApplet.getGameContext().getObject(filename);
if (clip != null)
{
return clip;
}
clip = gameApplet.getAudioClip(gameApplet.getCodeBase(), filename);
gameApplet.getGameContext().addObject(filename, clip);
if (clip == null)
{
System.err.println("Audio File ["+filename+"] not found");
}
return clip;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -