游戲開發中我們往往需要把一些列零碎的小圖片合成一幅比較大的圖片,需要用到這些圖片時可以通過setClip畫這張大圖的一小部分,也可以預先通過setClip把大圖分割成小圖然後直接調用小圖。
下面通過例子來說明如何分割圖片。
建立一個Image數組:Image[ ] imgNumbers = new Image[10];
private void initImgNumbers() throws Exception {
Image imgTotal = Image.createImage(…);
Graphics g;
for ( int i = 0; i < 10; i++) {
imgNumbers[i] = Image.createImage(10, 15);//這裡初始化圖片數組,大小為10X15
g = imgNumbers[i].getGraphics();
g.drawImage(imgTotal, -i * 10, 0, 20);
}
}
需要說明的一點是,MIDP 1.0裡面采用上述做法會丟失圖片中的透明像素,補救措施有二:
一是直接setClip畫大圖;
二是如果是諾基亞的機子,采用如下代碼:
imgNumbers[i] = DirectUtils.createImage(10, 15, 0);
即可