SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

Java 资源加载库 Azzet

Azzet 是一个简单的 Java 类库,用于从不同的源中加载资源。

示例代码:

BufferedImage img = Assets.load("http://www.google.com/logos/classicplus.png"); // loaded from website
Font fnt = Assets.load("myfont.ttf", new FontInfo(32.0f)); // loaded from classpath
Clip snd = Assets.load("C:\UserData\MyMusic.wav"); // loaded from file-system
BufferedImage gif = Assets.loadFrom("mygif.gif", BufferedImage.class); // you can request the return type
BufferedImage[] animatedGif = Assets.loadFrom("mygif.gif", "db"); // loads from DatabaseSource saved as "db"
Properties props = Assets.loadFrom("app.properties", "tcp"); // loads from TcpSource saved as "tcp"

支持的格式包括:

  • JSON (org.magnos.asset.json.JsonValue)

  • XML (org.w3c.dom.Document)

  • PROPERTIES/XML/CONFIG (java.util.Properties, org.magnos.asset.props.Config)

  • GIF (java.awt.image.BufferedImage[])

  • PNG/BMP/WBMP/JPEG/JPG (java.awt.image.BufferedImage)

  • MID/MIDI (javax.sound.midi.Sequence)

  • WAV/AU/AIFF/SND (javax.sound.sampled.Clip)

  • TTF (java.awt.Font)

  • CSV (org.magnos.asset.csv.Table)

  • CLASS/CLAZZ (java.lang.Class)

  • JAR (org.magnos.asset.java.Jar)

  • ZIP (org.magnos.asset.zip.Zip)

  • GZ (org.magnos.asset.AssetInfo)

  • DAT (byte[], java.io.InputStream, java.nio.ByteBuffer, java.io.ByteArrayOutputStream)

  • TXT (java.lang.String, char[], java.nio.CharBuffer, java.lang.StringBuffer, java.lang.StringBuilder)

支持的数据源:

  • Classpath

  • File-System

  • Database

  • JAR

  • FTP

  • HTTP/HTTPS

  • UDP

  • TCP

  • SSL

  • UDP Multicast

示例代码:

FutureAssetBundle bundle = new FutureAssetBundle();
bundle.add( Assets.loadFuture("image.gif", BufferedImage.class) );
bundle.add( Assets.loadFuture("sound.wav", Clip.class) );

BufferedImage image = null;
Clip sound = null;

// game loop
while (running) {
   // do stuff
   // this occurs during the loading screen....
   if (bundle.isComplete()) {
       bundle.loaded(); // notify all FutureAsset implementations the asset has been accepted.
       image = bundle.getAsset("image.gif");
       sound = bundle.getAsset("sound.wav");
       // move from loading to play screen
   } else {
       display bundle.percentComplete();     
   }
   // do other stuff
}

未经允许不得转载:SEARU.ORG » Java 资源加载库 Azzet

赞 (0)
分享到:更多 ()

评论 0