J2ME游戏中地图,背景的绘制 --- 图片切割的应用

   在J2ME手机游戏开发中,游戏背景、地图的绘制是非常关键的一环,它可能会影响整个游戏的品质。下面的这个类GameMap实现了游戏图片的切割和绘制 的功能,实现的原理是:先建立一个空数组;再切割图片到这个空数组中;然后将切割好的图片数组按游戏要求绘制在屏幕上。

public class GameMap
    int frameWidth, frameHight;// 单元图片的宽、高
    private Image img;
    Image[] imgs;
// 切割后的图片数组
    private int mapArray[][];

    public BombardMap(Image image, int frameWidth, int frameHight, int[][] array) {
        this.img = image;
        this.frameWidth = frameWidth;
        this.frameHight = frameHight;
        mapArray
= array;
     }

    // 切割矩形图对图片切割放到数组里!
    protected void image() {
        imgs
= new Image[frameWidth * frameHight];
        for (int i = 0; i < frameHight; i++) {
            for (int j = 0; j < frameWidth; j++) {
                imgs[i
* Width + j] = Image.createImage(img, j * frameWidth,

                        i*frameHight, 16, 16, 0);
            }
        }
    }

    public void drawBack(Graphics g) {// 画背景或地图
        for (int j = 0; j < 13; j++) { // 判断当前屏幕列上显示的块(X)
            for (int i = 0; i < 11; i++) { // 判断当前屏幕行上显示的块(Y)
                if (mapArray[j][i] > 0) { // 判断绘制处是否空白
                    g.drawImage(imgs[mapArray[j][i] - 1], i * frameWidth,

                         j* frameHight, Graphics.TOP|Graphics.LEFT);
                }
            }
        }
    }

}


上面的类GameMap.java经过简单的修改,可以直接应用在自己的游戏中。


注意:在函数drawBac()中,13和11要根据自己游戏背景的大小进行相应的修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值