📄 mygamewithtiledlayercanvas.java
字号:
import javax.microedition.lcdui.* ;
import javax.microedition.lcdui.game.* ;
public class MyGameWithTiledLayerCanvas extends GameCanvas
implements Runnable
{
LayerManager lm ;
TiledLayer b1 ;
public MyGameWithTiledLayerCanvas()
{
super(true) ;
lm = new LayerManager() ;
b1 = createBackGround() ;
lm.append(b1);
}
public TiledLayer createBackGround()
{
Image img = null;
try
{
img = Image.createImage("/pic/border.png");
System.out.println(img.getWidth());
System.out.println(img.getHeight());
}catch(Exception exp)
{
System.out.println(exp) ;
}
TiledLayer tiledLayer = new TiledLayer(12, 4, img, 32, 34);
tiledLayer.createAnimatedTile(5) ;
int[] map =
{
0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 4, 4, 3, 0, 0, 0, 0, 1, 2, 2,
1, 4, 4, 4, 4, 3, 0, 0, 1, 4, 4, 4,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
};
for (int i = 0; i < map.length; i++)
{
int column = i % 12;
int row = (i-column)/ 12;
tiledLayer.setCell(column, row, map[i]);
System.out.println(i+";"+column+";"+row);
}
return tiledLayer;
}
boolean conti = true ;
int rate = 50 ;
public void run()
{
long st = 0 ;
long et = 0 ;
Graphics g = getGraphics() ;
while(conti)
{
st = System.currentTimeMillis() ;
input() ;
render(g) ;
et = System.currentTimeMillis() ;
if((et-st)<rate)
{
try
{
Thread.sleep(rate-(et-st));
}catch(Exception exp){}
}
}
}
int x = 0 ;
int y = 0 ;
public void input()
{
int keystate = getKeyStates() ;
if((keystate & LEFT_PRESSED)!=0)
{
x = x - 2 ;
if( x <= 0 )
x = 0 ;
}else if((keystate & RIGHT_PRESSED)!=0)
{
x = x + 2 ;
if( x >= 32*11 )
x = 32*11 ;
}else if((keystate & FIRE_PRESSED)!=0)
{
if(b1.getAnimatedTile(-1) == 5)
{
b1.setAnimatedTile(-1,8);
}else
{
b1.setAnimatedTile(-1,5);
}
}
}
public void render(Graphics g)
{
lm.setViewWindow(x,y,128,136);
lm.paint(g,0,0);
flushGraphics() ;
}
public void start()
{
Thread t = new Thread(this) ;
t.start();
}
public void exit()
{
conti = false ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -