資源簡介
這是通過解析gif圖片來實現的,通過這個案例你可以學習到:創建右鍵菜單,創建不規則窗體,gif解析與合成,以及動畫原理.這可是很好的案例,我真的有些舍不得,不過為了積分,拼啦!

代碼片段和文件信息
package?com.oyz.code;
import?java.awt.image.BufferedImage;
import?java.io.UnsupportedEncodingException;
import?java.util.HashMap;
import?java.util.List;
import?com.game.graphics.Animation;
import?com.game.graphics.Sprite;
import?com.oyz.util.PP;
import?com.oyz.util.gif.GifHelper;
public?class?Face?{
public?HashMap?spritMap;
public?String?currentSprit=null;
public?Face()?{
spritMap=new?HashMap();
}
public?Sprite?add(String?name){
if(currentSprit==null)currentSprit=name;
if(spritMap.containsKey(name))return?spritMap.get(name);
Animation?animation=new?Animation();
try?{
List?list=GifHelper.splitGif(PP.getPath(PP.getProperty(name)));
for?(BufferedImage?bufferedImage?:?list)?{
animation.addframe(bufferedImage100);
}
}?catch?(UnsupportedEncodingException?e)?{
e.printStackTrace();
}
Sprite?sprite=new?Sprite(animation);
spritMap.put(name?sprite);
return?sprite;
}
public?Sprite?getSprit(String?name){
return?spritMap.get(name);
}
public?Sprite?setCurrentSprit(String?currentSprit)?{
this.currentSprit?=?currentSprit;
getSprit(currentSprit).start();
return?getSprit(currentSprit);
}
public?Sprite?getSprit(){
return?spritMap.get(currentSprit);
}
public?String?getCurrentSprit()?{
return?currentSprit;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????340??2016-11-26?13:48??Pet1.2\.classpath
?????文件????????382??2016-11-26?13:48??Pet1.2\.project
?????文件?????????57??2016-11-26?13:48??Pet1.2\.settings\org.eclipse.core.resources.prefs
?????文件????????598??2016-11-26?13:48??Pet1.2\.settings\org.eclipse.jdt.core.prefs
?????文件???????2491??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\Face.class
?????文件???????1017??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\GameManager$1.class
?????文件???????1166??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\GameManager$2.class
?????文件????????638??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\GameManager$3.class
?????文件???????7793??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\GameManager.class
?????文件????????887??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\PopMenue$1.class
?????文件???????1334??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\PopMenue.class
?????文件????????640??2016-11-26?13:48??Pet1.2\bin\com\oyz\code\Resource.class
?????文件????????587??2016-11-26?13:48??Pet1.2\bin\com\oyz\test\Test1.class
?????文件???????7462??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\AnimatedGifEncoder.class
?????文件????????561??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\GifDecoder$Giffr
?????文件??????11214??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\GifDecoder.class
?????文件???????7152??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\GifHelper.class
?????文件???????4182??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\LZWEncoder.class
?????文件???????6890??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\gif\NeuQuant.class
?????文件???????1181??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\ImageLoader.class
?????文件???????2670??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\IMGHelper.class
?????文件???????2223??2016-11-26?13:48??Pet1.2\bin\com\oyz\util\PP.class
?????文件???????1282??2016-11-26?13:48??Pet1.2\bin\conf\img_conf.properties
?????文件??????37255??2016-11-26?13:48??Pet1.2\bin\img\dog\01.gif
?????文件??????46082??2016-11-26?13:48??Pet1.2\bin\img\dog\02.gif
?????文件??????34050??2016-11-26?13:48??Pet1.2\bin\img\dog\03.gif
?????文件??????45964??2016-11-26?13:48??Pet1.2\bin\img\dog\04.gif
?????文件??????47177??2016-11-26?13:48??Pet1.2\bin\img\dog\05.gif
?????文件??????48109??2016-11-26?13:48??Pet1.2\bin\img\dog\06.gif
?????文件??????36881??2016-11-26?13:48??Pet1.2\bin\img\dog\07.gif
............此處省略93個文件信息
評論
共有 條評論