TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
使用TiledLayr类例子 :精灵在地砖层上移动。 import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.*;
- public class Xman extends MIDlet{
-
- public void startApp(){
- new Man1(Display.getDisplay(this)).start();
- }
- public void pauseApp(){}
- public void destroyApp(boolean e){}
- class Man1 extends GameCanvas implements Runnable{
-
- private Display display;
- private Sprite xman;
- private TiledLayer background;
- private int Xbackground,Ybackground;
- public Man1(Display d){
- super(true);
- display=d;
- display.setCurrent(this);
- }
- private void start(){
- try{
- xman=new Sprite(Image.createImage("/man.png"),25,20);
- background=new TiledLayer(16,1,Image.createImage("/background.png"),44,88);
- setcell();
- }catch(Exception e){
- }
-
- Thread t=new Thread(this);
- t.start();
- }
- private void setcell(){
- int map[]={1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2};
-
- for(int i=0;i< map.length;i++){
- int column=i%16;
- int row=(i-column)/1;
- background.setCell(column,row,map[i]);
- }
-
- Xbackground=2;
- Ybackground=2;
-
- xman.setPosition(getWidth()/2,100);
- background.setPosition(0,50);
- }
- public void run(){
- Graphics g=getGraphics();
- while(true){
- update();
- draw(g);
- try{
- Thread.sleep(100);
- }catch(Exception e){}
- }
- }
- private void update(){
- int keyState=getKeyStates();
- if((keyState&LEFT_PRESSED)!=0){
- background.move(Xbackground,0);
- xman.nextFrame();
- }
- else if((keyState&RIGHT_PRESSED)!=0){
- background.move(-Xbackground,0);
- xman.nextFrame();
- }
- if (background.getX() >100)
- background.setPosition(100, background.getY());
- else if (background.getX() < -550)
- background.setPosition(-550, background.getY());
- }
- private void draw(Graphics g){
- g.setColor(0xffffff);
- g.fillRect(0,0,getWidth(),getHeight());
- background.paint(g);
- xman.paint(g);
- flushGraphics();
- }
- }
- }
复制代码
源码下载:http://203.93.208.26/kj/cwb/dir7/Xman.zip |
|