📄 backgroundlayer.java
字号:
package src;
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.LayerManager;
import javax.microedition.lcdui.game.TiledLayer;
public class BackGroundLayer {
public long DOWN_HEIGHT = 0;
public int floorsCount = 0;
private TiledLayer titleLayer = null;
private TiledLayer wallLayer = null;
private final int WALL_COL = 12;
private final int WALL_ROW = 15;
private final int TITLE_COL = 13;
private final int TITLE_ROW = 2;
private final int CELL_WIDTH = 20;
private final int CELL_HEIGHT = 20;
private final int[] titleLayerMap = {
17,0,0,1,2,5,5,5,5,3,0,0,17,
0,4,4,4,4,4,4,4,4,4,4,4,0
};
private final int[] wallLayerMap = {
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16,
15,0,0,0,0,0,0,0,0,0,0,16
};
public BackGroundLayer(LayerManager layerManager)
{
try {
titleLayer = new TiledLayer(TITLE_COL,TITLE_ROW,
Image.createImage("/res/background.png"),
CELL_WIDTH ,CELL_HEIGHT );
wallLayer = new TiledLayer(WALL_COL,WALL_ROW,
Image.createImage("/res/background.png"),
CELL_WIDTH ,CELL_HEIGHT );
layerManager.append(this.titleLayer);
layerManager.append(this.wallLayer);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
init();
}
public void init()
{
for(int i = 0;i < this.titleLayerMap.length;i++)
{
int col = i % TITLE_COL;
int row = (i - col)/TITLE_COL;
this.titleLayer.setCell(col, row, this.titleLayerMap[i]);
//System.out.println(col+"****"+row+ "\n");
}
for(int i = 0;i < this.wallLayerMap.length;i++)
{
int col = i % WALL_COL;
int row = (i - col)/WALL_COL;
this.wallLayer.setCell(col, row, this.wallLayerMap[i]);
//System.out.println(col+"****"+row+ "\n");
}
titleLayer.setPosition(-10, 0);
wallLayer.setPosition(0, 20);
}
public void update()
{
int wallLayerY = wallLayer.getY();
if(wallLayerY < 0)
wallLayer.setPosition(0, 17);//为了使墙面移动显示流畅使用参数17
else
wallLayer.move(0, -GameMIDlet.MOVE_UP_SPEED);
DOWN_HEIGHT+= GameMIDlet.MOVE_UP_SPEED;
floorsCount = (int)DOWN_HEIGHT/250;
refreshTitleNum(floorsCount);
}
private void refreshTitleNum(int count)
{
String s = Integer.toString(count);
char[] a = s.toCharArray();
int[] b = {0,0,0,0};
for(int i = a.length-1,j=b.length-1;i >= 0;i--,j--)
b[j] = Integer.parseInt(String.valueOf(a[i]));
for(int i = 0;i < b.length;i++)
{
titleLayer.setCell(5+i, 0, b[i]+5);
}
}
public TiledLayer getTitleLayer()
{
return titleLayer;
}
public TiledLayer getWallLayer()
{
return wallLayer;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -