亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? democanvas.java

?? < JavaME核心技術最佳實踐>>的全部源代碼
?? JAVA
字號:
package com.j2medev.chapter5;
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
import java.io.*;

public class DemoCanvas
        extends GameCanvas
        implements CommandListener, Runnable {
    private Image imgA,imgB;//飛機(imgA)和敵人(imgB)的Image對象
    private Image mapImg0,mapImg1;//背景0和背景1的Image對象
    private TiledLayer tiledLayer0;//背景0
    private TiledLayer tiledLayer1;//背景1
    private LayerManager layers;//管理所有層的層管理器
    private Sprite spriteA,spriteB;//聲明精靈A和精靈B對象
    private int keyState;//按鍵狀態
    private boolean collideSta;//狀態變量,表示是否碰撞
    private Graphics g;//畫筆的引用
    private int Ypos0;//可視窗口的縱坐標

    
    public DemoCanvas() {
        //構造GameCanvas,參數true意味著CameCanvas不會自動調用KeyPressed,keyRepeated,keyReleased方法
        super(true);
        //全屏
        this.setFullScreenMode(true);
        try {//初始化兩個精靈的Image對象和兩個背景的Image對象
            imgA = Image.createImage("/img0.png");
            imgB = Image.createImage("/img1.png");
            mapImg0 = Image.createImage("/map0.png");
            mapImg1 = Image.createImage("/map1.png");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        
        tiledLayer0 = new TiledLayer(9,20,mapImg0,28,28);//實例化背景層0,用mapImg0填充20行9列
        tiledLayer1 = new TiledLayer(12,11,mapImg1,21,40);//實例化背景層1,用mapImg1填充11行12列
        tiledLayer1.setPosition(-6,0);//初始化背景層1的位置

        int[][] map0 = {//背景層0的塊兒分布(全用1號塊兒填充)
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1},
            { 1,1,1,1,1,1,1,1,1}
            
        };
        
        
        int[][] map1 = {//背景層1的塊兒分布(左側用1號塊兒填充,右側用2號塊兒填充,其它位置不填)
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
            { 1,0,0,0,0,0,0,0,0,0,0,2},
        };
        
        //利用map0中的地圖信息填充背景層0
        for (int i = 0; i < map0.length; i++)
            for(int j = 0;j<map0[i].length;j++)
                tiledLayer0.setCell(j, i, map0[i][j]);
        

        spriteA = new Sprite(imgA,110,89);//實例化精靈A
        spriteB = new Sprite(imgB,80,80);//實例化精靈B
        
        spriteA.setPosition(50,100);//初始化精靈A的位置
        spriteB.setPosition(50,0);//初始化精靈B的位置
        
        layers= new LayerManager();//實例化一個層管理器

        layers.append(tiledLayer0);//將背景層添加到層管理器中
        
        Ypos0 = tiledLayer0.getHeight() - this.getHeight();//初始化背景層0的位置

        
        this.setFullScreenMode(true);//全屏
        setCommandListener(this);
        addCommand(new Command("Exit", Command.EXIT, 1));
        
        
        new Thread(this).start();//啟動GameCanvas線程
    }
    
    public void check(){//碰撞檢測
        if(spriteA.collidesWith(spriteB,true)) collideSta = true;
        else collideSta = false;
    }
    
    public void run() {
        while (true) {
            // repaint();
            this.g = getGraphics();//獲取畫筆
            keyState = getKeyStates();//獲取按鍵狀態
            //精靈A向左移動
            if((keyState & this.LEFT_PRESSED)!=0){
                spriteA.move(-3,0);
              }
            //精靈A向右移動
            if((keyState & this.RIGHT_PRESSED)!=0){
                spriteA.move(3,0);
            }
            //精靈A向上移動
            if((keyState & this.UP_PRESSED)!=0){
                spriteA.move(0,-3);
            }
            //精靈A向下移動
            if((keyState & this.DOWN_PRESSED)!=0){
                spriteA.move(0,3);
                
            }
            check();//碰撞檢測

            this.draw(g);//調用自定義的畫圖方法
            
            try {
                Thread.sleep(33);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    public void draw(Graphics g) {
        //清屏
        g.setColor(0);
        g.fillRect(0,0,this.getWidth(),this.getHeight());
        //準備畫下一幀
        spriteA.nextFrame();
        //實現背景0的循環滾動,實際上是可視窗口在循環滾動
        if(Ypos0<=0) Ypos0 = tiledLayer0.getHeight() - this.getHeight();
        
        //設置可視區域
        layers.setViewWindow(0,Ypos0,this.getWidth(),this.getHeight());
        //可視窗口向上移動
        Ypos0 = Ypos0-2;
        //畫出層管理器中的所有層
        layers.paint(g,0,0);
        //畫精靈A
        spriteA.paint(g);
        //刷新
        flushGraphics();
        
    }
    
    public void keyPressed(int keyCode) {
        //System.out.println(" ");
    }
    
    public void commandAction(Command command, Displayable displayable) {
        if (command.getCommandType() == Command.EXIT) {
            GameDemo.quitApp();
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩一区二区| 亚洲福利视频一区| 亚洲一区视频在线| 国产伦精品一区二区三区视频青涩| 美日韩黄色大片| 国产91精品一区二区麻豆亚洲| 色综合中文字幕| 日韩欧美123| 亚洲免费视频中文字幕| 国产综合色在线视频区| 欧美日韩国产片| 亚洲人成影院在线观看| 国产精品一二一区| 6080亚洲精品一区二区| 亚洲欧洲中文日韩久久av乱码| 韩日av一区二区| 911国产精品| 亚洲乱码国产乱码精品精小说 | 99精品久久免费看蜜臀剧情介绍| 一区二区高清免费观看影视大全| 国产目拍亚洲精品99久久精品| 亚洲自拍另类综合| 欧美亚洲禁片免费| 国产精品五月天| 国产乱码精品一区二区三区五月婷 | 精品国产乱码久久久久久1区2区 | 欧美激情一区二区三区全黄| 精品一区二区三区日韩| 欧美一区二区网站| 日韩精品欧美精品| 欧美日韩黄色一区二区| 亚洲男同1069视频| 91网上在线视频| ㊣最新国产の精品bt伙计久久| 国产麻豆精品95视频| 精品国产一区久久| 久久精品国产秦先生| 精品国产三级a在线观看| 免费在线欧美视频| 欧美一区二区人人喊爽| 日韩av电影免费观看高清完整版| 精品视频一区三区九区| 亚洲国产精品视频| 欧美三级电影网站| 五月激情六月综合| 3d动漫精品啪啪一区二区竹菊| 五月天激情小说综合| 欧美一区二区三区婷婷月色| 精品无码三级在线观看视频| 欧美大片在线观看一区二区| 精品在线一区二区| 久久精品男人的天堂| 丰满少妇在线播放bd日韩电影| 中文字幕一区二区视频| 色一区在线观看| 日韩极品在线观看| 日韩精品一区二区三区四区| 国产一区免费电影| 日本亚洲免费观看| 日韩一区二区影院| 国产激情一区二区三区| 中文字幕制服丝袜成人av| 91在线云播放| 日本美女一区二区三区视频| 久久久精品中文字幕麻豆发布| 91在线视频播放| 日韩激情在线观看| 久久久久综合网| 色婷婷综合五月| 午夜精品爽啪视频| 久久久精品免费观看| 91色|porny| 久久国产综合精品| 亚洲人成小说网站色在线| 欧美久久婷婷综合色| 国产成人99久久亚洲综合精品| 一区二区三区产品免费精品久久75| 69堂亚洲精品首页| 成人精品免费网站| 日韩激情视频网站| 成人欧美一区二区三区视频网页| 欧亚洲嫩模精品一区三区| 国产精品资源在线| 爽好多水快深点欧美视频| 国产精品久久久久久久久果冻传媒| 欧美视频在线观看一区| 成人午夜电影小说| 免费不卡在线视频| 亚洲裸体xxx| 国产人成一区二区三区影院| 在线成人小视频| 91在线高清观看| 国产a级毛片一区| 蜜桃av一区二区在线观看| 国产精品久久99| 久久综合色天天久久综合图片| 欧美怡红院视频| 91蜜桃传媒精品久久久一区二区| 国产原创一区二区三区| 亚洲bdsm女犯bdsm网站| 成人免费小视频| 国产欧美精品一区| 欧美一区二区视频在线观看| 日本精品免费观看高清观看| 成人性视频免费网站| 国产一区二区三区免费播放| 日韩va亚洲va欧美va久久| 亚洲国产精品久久久久婷婷884| 国产精品素人视频| 亚洲国产精品高清| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩成人高清| 91成人在线精品| 91在线视频在线| 99国产精品久| 91性感美女视频| 91免费国产视频网站| 成人动漫在线一区| 99麻豆久久久国产精品免费| 欧美一级欧美三级| 麻豆久久久久久久| 国产综合久久久久久鬼色| 久久久精品一品道一区| 国产精品乱码一区二区三区软件| 国产精品夜夜爽| 蜜桃精品在线观看| www.66久久| 亚洲18色成人| 一区二区三区四区中文字幕| 亚洲成a人在线观看| 欧美一区二区三区视频在线 | 极品尤物av久久免费看| 精品一区二区综合| 国产福利一区二区三区在线视频| 韩国三级电影一区二区| 国产宾馆实践打屁股91| 成人自拍视频在线| 99riav一区二区三区| 91久久香蕉国产日韩欧美9色| 欧美视频中文字幕| 日韩久久免费av| 国产精品日韩精品欧美在线| 亚洲综合在线电影| 热久久一区二区| 国产91精品入口| 色视频成人在线观看免| 日韩一区二区高清| 国产精品电影一区二区| 亚洲最大色网站| 加勒比av一区二区| 一本大道久久精品懂色aⅴ| 欧美一区二区三区四区高清| 国产精品你懂的| 午夜精品福利在线| 国产成人av一区二区三区在线| 色噜噜偷拍精品综合在线| 日韩美女一区二区三区| 日韩一区日韩二区| 久久66热re国产| 一本久久a久久免费精品不卡| 久久久久久久久蜜桃| 一区二区三区中文在线| 麻豆传媒一区二区三区| 99v久久综合狠狠综合久久| 91精品国产一区二区三区蜜臀| 国产精品久久久久久福利一牛影视 | 日韩女同互慰一区二区| 综合av第一页| 精品一区二区av| 欧美午夜在线观看| 国产精品欧美一区二区三区| 日韩电影一区二区三区四区| 97久久超碰国产精品| 国产午夜精品一区二区三区四区| 午夜视频一区二区三区| 色综合欧美在线| 国产精品欧美一级免费| 国产综合一区二区| 欧美电影一区二区三区| 伊人一区二区三区| www.欧美日韩国产在线| 久久久久久久久伊人| 久久99蜜桃精品| 欧美一级黄色录像| 亚洲高清免费观看高清完整版在线观看| 国产91露脸合集magnet | 国模无码大尺度一区二区三区| 欧美日韩国产在线观看| 亚洲乱码一区二区三区在线观看| 国产丶欧美丶日本不卡视频| 欧美mv和日韩mv的网站| 午夜私人影院久久久久| 91福利国产成人精品照片| 日韩伦理电影网| 99久久精品免费| 国产精品视频免费看| 国产凹凸在线观看一区二区| 久久综合九色综合欧美98 | 91在线一区二区三区| 国产精品国产三级国产普通话三级 |