使用MIDP1.0实现TiledLayer的效果,并实现简单的滚屏

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

程序实现的代码如下:

package gamecanvasuse;

import javax.microedition.lcdui.*;

import com.nokia.mid.ui.FullCanvas;

public class MIDP2Canvas extends FullCanvas {

Image image = null;

int index = 0;

//每个单元使用的图象分块内容

int[][] map = {{0,0,1,3,0,0,0},

{0,1,4,4,3,0,0},

{1,4,4,4,4,3,0},

{0,0,0,0,-1,-1,-1}

};

public MIDP2Canvas() {

//载入图片

try{

image = Image.createImage("/res/title.png");

}catch(Exception e){

}

}

protected void paint(Graphics g) {

for(int i = 0;i < 4;i++){

for(int j = 0;j < 4;j++){

switch (map[j][i + index]){

case 0:

g.setColor(0xffffff);

g.fillRect(i * 32,j * 32,32,32);

g.setColor(0x000000);

break;

case 1:

//绘制图块

g.setClip(i * 32,j * 32,32,32);

g.drawImage(image,i * 32,j * 32,Graphics.TOP | Graphics.LEFT);

g.setClip(0,0,this.getWidth(),this.getHeight());

break;

case 2:

//绘制图块

g.setClip(i * 32,j * 32,32,32);

g.drawImage(image,i * 32 - 32,j * 32,Graphics.TOP | Graphics.LEFT);

g.setClip(0,0,this.getWidth(),this.getHeight());

break;

case 3:

//绘制图块

g.setClip(i * 32,j * 32,32,32);

g.drawImage(image,i * 32 - 64,j * 32,Graphics.TOP | Graphics.LEFT);

g.setClip(0,0,this.getWidth(),this.getHeight());

break;

case 4:

//绘制图块

g.setClip(i * 32,j * 32,32,32);

g.drawImage(image,i * 32 - 96,j * 32,Graphics.TOP | Graphics.LEFT);

g.setClip(0,0,this.getWidth(),this.getHeight());

break;

}

}

}

g.setColor(0xff0000);

g.fillRect(32,32,32,32);

g.setColor(0x000000);

}

public void keyPressed(int keyCode){

index++;

repaint();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航