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

📄 mygamewithtiledlayercanvas.java

📁 同样是用j2me写的
💻 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 + -