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

📄 tankcanvas.java

📁 j2me的坦克大战 元代码 单机版和蓝牙联网版
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.IOException;import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.GameCanvas;public class TankCanvas extends Canvas implements Runnable {    private int gameSubStatus = 1;    private int gameState = 1;    private int gameSelect = 1;    private int SplashCnt = 0;    private int screenWidth;    private int screenHeight;    private Image imgTankEnemy,  imgTankPlayer,  imgTitle;    private int fadeColor;    private int fontHeight;    private int title_y,  title_h;    private int title_x;    private GameMidlet gameMidlet;    private boolean controlMenu;    public TankCanvas(GameMidlet gameMidlet) {        // super(true);        this.gameMidlet = gameMidlet;        screenWidth = getWidth();        screenHeight = getHeight();        controlMenu = true;    }    public void paint(Graphics g) {        switch (gameState) {            case 1:                drawSplash(g);                break;            case 2:                drawAnmi(g);                break;            case 3:                drawMenu(g);                break;        }    }    private void drawAnmi(Graphics g) {        try {            switch (gameSubStatus) {                case 1:                    g.setColor(0x000000);                    g.fillRect(0, 0, screenWidth, screenHeight);                    imgTankEnemy = Image.createImage("/tank_enemy.png");                    fadeColor = 0x0;                    gameSubStatus++;                    break;                case 2:                    g.setColor(fadeColor, fadeColor, fadeColor);                    // g.setFont(font);                    fontHeight = g.getFont().getHeight();                    g.drawString("Scau's Tank  Online", screenWidth / 2, (screenHeight - imgTankEnemy.getHeight() - fontHeight) / 2 - 3, g.TOP | g.HCENTER);                    if (fadeColor < 0xf0) {                        fadeColor += 16;                    } else {                        gameSubStatus++;                        title_y = imgTankEnemy.getHeight() / 2;                        title_h = 0;                    }                    break;                case 3:                    g.setColor(0xffffff);                    g.fillRect(0, (screenHeight + fontHeight) / 2 - title_h, screenWidth, title_h * 2);                    if (title_h < (imgTankEnemy.getHeight() / 2)) {                        title_h += 4;                    } else {                        gameSubStatus++;                        title_x = -imgTankEnemy.getWidth();                    }                    break;                case 4:                    g.setColor(0xffffff);                    g.fillRect(0, (screenHeight - imgTankEnemy.getHeight() + fontHeight) / 2, screenWidth, imgTankEnemy.getHeight());                    g.drawImage(imgTankEnemy, title_x, (screenHeight - imgTankEnemy.getHeight() + fontHeight) / 2, g.TOP | g.LEFT);                    if (title_x < 0) {                        title_x += 15;                    } else {                        gameSubStatus++;                        imgTankPlayer = Image.createImage("/tank_player.png");                        title_x = screenWidth + imgTankPlayer.getWidth();                    }                    break;                case 5:                    g.setColor(0xffffff);                    g.fillRect(0, (screenHeight - imgTankEnemy.getHeight() + fontHeight) / 2, screenWidth, imgTankPlayer.getHeight());                    g.drawImage(imgTankEnemy, 0, (screenHeight - imgTankEnemy.getHeight() + fontHeight) / 2, g.TOP | g.LEFT);                    g.drawImage(imgTankPlayer, title_x, (screenHeight - imgTankPlayer.getHeight() + fontHeight) / 2, g.TOP | g.LEFT);                    if (title_x >= (screenWidth - imgTankPlayer.getWidth())) {                        title_x -= 30;                    } else {                        gameSubStatus++;                        g.setColor(0x00);                        g.fillRect(0, 0, screenWidth, (screenHeight - imgTankPlayer.getHeight() + fontHeight) / 2 - 1);                    }                    break;                case 6:                    g.setColor(fadeColor, fadeColor, fadeColor);                    // g.setFont(font);                    g.drawString("Welcome To Here", screenWidth / 2, (screenHeight - imgTankPlayer.getHeight() - fontHeight) / 2 - 3, g.TOP | g.HCENTER);                    if (fadeColor > 0) {                        fadeColor -= 12;                    } else {                        title_h = 0;                        gameSubStatus++;                    }                    break;                case 7:                    imgTankEnemy = null;                    imgTankPlayer = null;                    gameSubStatus = 1;                    gameState = 3;                default:                    break;            }        } catch (IOException ex) {            ex.printStackTrace();        }    }    private void drawMenu(Graphics g) {        switch (gameSubStatus) {            case 1:                g.setColor(0x0);                g.fillRect(0, 0, screenWidth, screenHeight);                try {                    imgTitle = Image.createImage("/title.png");                } catch (Exception e) {                }                gameSubStatus++;                title_y = imgTitle.getHeight() / 2;                title_h = 0;                break;            case 2:                g.setColor(0x0);                g.fillRect(0, 0, screenWidth, screenHeight);                g.setColor(0xffffff);                g.fillRect(0, (screenHeight - imgTitle.getHeight()) / 6 + title_y,                        (screenWidth - imgTitle.getWidth()) / 2, title_h);                g.fillRect((screenWidth + imgTitle.getWidth()) / 2,                        (screenHeight - imgTitle.getHeight()) / 6 + title_y,                        (screenWidth - imgTitle.getWidth()) / 2, title_h);                g.translate((screenWidth - imgTitle.getWidth()) / 2,                        (screenHeight - imgTitle.getHeight()) / 6);                g.setClip(0, title_y, imgTitle.getWidth(), title_h);                g.drawImage(imgTitle, 0, 0, g.TOP | g.LEFT);                if (title_h < imgTitle.getHeight()) {                    title_y -= 2;                    title_h += 4;                } else {                    gameSubStatus++;                }                break;            case 3:                g.setColor(0x0);                g.fillRect(0, 0, screenWidth, screenHeight);                g.setColor(0xffffff);                g.fillRect(0, (screenHeight - imgTitle.getHeight()) / 6 + title_y,                        (screenWidth - imgTitle.getWidth()) / 2, title_h);                g.fillRect((screenWidth + imgTitle.getWidth()) / 2,                        (screenHeight - imgTitle.getHeight()) / 6 + title_y,                        (screenWidth - imgTitle.getWidth()) / 2, title_h);                g.drawImage(imgTitle, (screenWidth - imgTitle.getWidth()) / 2,                        (screenHeight - imgTitle.getHeight()) / 6, g.TOP | g.LEFT);                g.setColor(0x00, 0x00, 0x00);                g.fillRect(screenWidth / 2 - 50, (screenHeight -                        imgTitle.getHeight()) / 3 + imgTitle.getHeight(), 100,                        fontHeight * 3);                // g.setFont(font);                switch (gameSelect) {                    case 1:                        g.setColor(0xfe, 0x3f, 0x00);                        g.drawString("Start", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight(), g.TOP |                                g.HCENTER);                        g.setColor(0x00, 0xfe, 0xfe);                        g.drawString("Setting", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() +                                fontHeight, g.TOP | g.HCENTER);                        g.drawString("About", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 2 *                                fontHeight, g.TOP | g.HCENTER);                        g.drawString("Online", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 3 *                                fontHeight, g.TOP | g.HCENTER);                        g.drawString("OnlineVS", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 4 *                                fontHeight, g.TOP | g.HCENTER);                        g.drawString("Exit", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 5 *                                fontHeight, g.TOP | g.HCENTER);                        break;                    case 2:                        g.setColor(0x00, 0xfe, 0xfe);                        g.drawString("Start", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight(), g.TOP |                                g.HCENTER);                        g.setColor(0xfe, 0x3f, 0x00);                        g.drawString("Setting", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() +                                fontHeight, g.TOP | g.HCENTER);                        g.setColor(0x00, 0xfe, 0xfe);                        g.drawString("About", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 2 *                                fontHeight, g.TOP | g.HCENTER);                        g.drawString("Online", screenWidth / 2, (screenHeight -                                imgTitle.getHeight()) / 3 + imgTitle.getHeight() + 3 *                                fontHeight, g.TOP | g.HCENTER);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -