⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 background.java

📁 java 小程序 使用j2me 开发的一个小的游戏软件
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import java.io.*;

public class BackGround
{
    private Image[] imgbackground = new Image[4];
    private int period;
    private boolean isdraw;
    //背景坐标描述{地图中X,地图中Y,子图宽,子图高,子图中X,子图中Y}
    private int[][][] periodmap={
        { //第一阶段 岛屿阶段
        {0,0,59,16,62,61},{59,0,59,16,62,61},{59*2,0,59,16,62,61},{59*3,0,59,16,62,61},{59*4,0,59,16,62,61},
        {0,16,59,16,62,61},{59,16,59,16,62,61},{59*2,16,59,16,62,61},{59*3,16,59,16,62,61},{59*4,16,59,16,62,61},
        {0,16*2,59,16,62,61},{59,16*2,59,16,62,61},{59*2,16*2,59,16,62,61},{59*3,16*2,59,16,62,61},{59*4,16*2,59,16,62,61},
        {0,16*3,59,16,62,61},{59,16*3,59,16,62,61},{59*2,16*3,59,16,62,61},{59*3,16*3,59,16,62,61},{59*4,16*3,59,16,62,61},
        {0,16*4,59,16,62,61},{59,16*4,59,16,62,61},{59*2,16*4,59,16,62,61},{59*3,16*4,59,16,62,61},{59*4,16*4,59,16,62,61},
        {0,16*5,59,16,62,61},{59,16*5,59,16,62,61},{59*2,16*5,59,16,62,61},{59*3,16*5,59,16,62,61},{59*4,16*5,59,16,62,61},
        {0,16*6,59,16,62,61},{59,16*6,59,16,62,61},{59*2,16*6,59,16,62,61},{59*3,16*6,59,16,62,61},{59*4,16*6,59,16,62,61},
        {0,16*7,59,16,62,61},{59,16*7,59,16,62,61},{59*2,16*7,59,16,62,61},{59*3,16*7,59,16,62,61},{59*4,16*7,59,16,62,61}, //蓝天
        {0,185-61,62,61,0,0},{61,185-61,62,61,0,0},{61*2,185-61,62,61,0,0},{61*3,185-61,62,61,0,0}, //海面
        {182,46,58,23,62,37},{62,13,58,23,62,37}, //大云彩
        {139,76,46,19,62,15},{0,23,46,19,62,15}, //中云彩
        {73,60,32,13,62,0}, //小云彩
        {18,153,62,10,62,78},{135,153,62,10,62,78}, //海上冰山
        {0,159,24,25,0,61}, //左小岛
        {202,157,37,27,24,61} //右小岛
        },
        { //第二阶段 岛中海阶段
        {0,0,63,72,0,54},{54,0,63,72,0,54},{108,0,63,72,0,54},{162,0,63,72,0,54},{216,0,63,72,0,54}, //浅色海面
        {0,72,127,31,0,127},{127,72,127,31,0,127},
        {0,103,127,31,0,127},{127,103,127,31,0,127},
        {0,134,127,31,0,127},{127,134,127,31,0,127},
        {0,165,127,31,0,127},{127,165,127,31,0,127}, //深色海水
        {0,148,100,36,0,17},{69,157,100,36,0,17},{168,161,100,36,0,17}, //礁石
        {19,124,36,60,67,55},{96,134,36,60,67,55},{176,115,36,60,67,55}, //水草
        {160,170,79,14,48,0} //沙子
        },
        { //第三阶段 冰山阶段
        {0,0,128,185,0,0},{128,0,128,185,0,0}, //冰山
        },
        { //第四阶段 地下城阶段
        {0,0,63,32,2,0},{63,0,63,32,2,0},{63*2,0,63,32,2,0},{63*3,0,63,32,2,0},
        {0,32,63,31,2,34},{63,32,63,31,2,34},{63*2,32,63,31,2,34},{63*3,32,63,31,2,34},
        {0,63,63,31,2,34},{63,63,63,31,2,34},{63*2,63,63,31,2,34},{63*3,63,63,31,2,34},
        {0,94,63,31,2,34},{63,94,63,31,2,34},{63*2,94,63,31,2,34},{63*3,94,63,31,2,34},
        {0,125,63,31,2,34},{63,125,63,31,2,34},{63*2,125,63,31,2,34},{63*3,125,63,31,2,34},
        {0,156,63,31,2,34},{63,156,63,31,2,34},{63*2,156,63,31,2,34},{63*3,156,63,31,2,34},
        }
    };
    public BackGround()
    {
    }

    public void paint(Graphics g)
    {
        period = (TomAdventureCanvas.stage - 1) / 5;
        if (imgbackground[period] == null)
        {
            try
            {
                imgbackground[period] = Image.createImage("/images/background" +
                    period + ".png");
            }
            catch (IOException ex)
            {
            }
        }
        for(int i=0;i<periodmap[period].length;i++)
        {
            isdraw = false;
            //判断子图的四个顶点是否在显示区域中 是则绘出子图
            if(TomAdventureCanvas.mapx<=periodmap[period][i][0] && periodmap[period][i][0]<=TomAdventureCanvas.mapx+TomAdventureCanvas.vieww
                && TomAdventureCanvas.mapy<=periodmap[period][i][1] && periodmap[period][i][1]<=TomAdventureCanvas.mapy+TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if(TomAdventureCanvas.mapx<=periodmap[period][i][0]+periodmap[period][i][2] && periodmap[period][i][0]+periodmap[period][i][2]<=TomAdventureCanvas.mapx+TomAdventureCanvas.vieww
                && TomAdventureCanvas.mapy<=periodmap[period][i][1] && periodmap[period][i][1]<=TomAdventureCanvas.mapy+TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if(TomAdventureCanvas.mapx<=periodmap[period][i][0] && periodmap[period][i][0]<=TomAdventureCanvas.mapx+TomAdventureCanvas.vieww
                && TomAdventureCanvas.mapy<=periodmap[period][i][1]+periodmap[period][i][3] && periodmap[period][i][1]+periodmap[period][i][3]<=TomAdventureCanvas.mapy+TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            else if(TomAdventureCanvas.mapx<=periodmap[period][i][0]+periodmap[period][i][2] && periodmap[period][i][0]+periodmap[period][i][2]<=TomAdventureCanvas.mapx+TomAdventureCanvas.vieww
                && TomAdventureCanvas.mapy<=periodmap[period][i][1]+periodmap[period][i][3] && periodmap[period][i][1]+periodmap[period][i][3]<=TomAdventureCanvas.mapy+TomAdventureCanvas.viewh)
            {
                isdraw = true;
            }
            //判断显示区域的顶点是否在子图中 是则绘出子图
            else if(TomAdventureCanvas.mapx>=periodmap[period][i][0] && TomAdventureCanvas.mapx<=periodmap[period][i][0]+periodmap[period][i][2]
                && TomAdventureCanvas.mapy>=periodmap[period][i][1] && TomAdventureCanvas.mapx<=periodmap[period][i][1]+periodmap[period][i][3])
            {
                isdraw = true;
            }
            else if(TomAdventureCanvas.mapx+TomAdventureCanvas.vieww>=periodmap[period][i][0] && TomAdventureCanvas.mapx+TomAdventureCanvas.vieww<=periodmap[period][i][0]+periodmap[period][i][2]
                && TomAdventureCanvas.mapy>=periodmap[period][i][1] && TomAdventureCanvas.mapx<=periodmap[period][i][1]+periodmap[period][i][3])
            {
                isdraw = true;
            }
            if(isdraw == true)
            {
                TomAdventureCanvas.drawClipImage(g,periodmap[period][i][0]-TomAdventureCanvas.mapx,periodmap[period][i][1]-TomAdventureCanvas.mapy,imgbackground[period],periodmap[period][i][4],periodmap[period][i][5],periodmap[period][i][2],periodmap[period][i][3]);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -