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

📄 aganimationcanvas.java

📁 j2me的手机游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            } else
            if(bomb2DisplaySwitch)
            {
                g.drawImage(colBomb1, enemyBomb2X, enemyBomb2Y, 3);
                bomb2DisplaySwitch = false;
            } else
            if(!bomb2DisplaySwitch)
            {
                g.drawImage(colBomb2, enemyBomb2X, enemyBomb2Y, 3);
                bomb2DisplaySwitch = true;
            }
        if(displayBullet)
        {
            if(swapBullets == 1)
            {
                if(planePosition == 1)
                {
                    g.drawImage(bulletExp1, 35, 85, 3);
                    g.drawImage(bulletExp1, 63, 75, 3);
                } else
                if(planePosition == 2)
                {
                    g.drawImage(bulletExp1, 38, 77, 3);
                    g.drawImage(bulletExp1, 67, 87, 3);
                } else
                {
                    g.drawImage(bulletExp1, 35, 82, 3);
                    g.drawImage(bulletExp1, 65, 82, 3);
                }
            } else
            if(swapBullets == 2)
                if(planePosition == 1)
                {
                    g.drawImage(bulletExp2, 35, 85, 3);
                    g.drawImage(bulletExp2, 63, 75, 3);
                } else
                if(planePosition == 2)
                {
                    g.drawImage(bulletExp2, 38, 77, 3);
                    g.drawImage(bulletExp2, 67, 87, 3);
                } else
                {
                    g.drawImage(bulletExp2, 35, 82, 3);
                    g.drawImage(bulletExp2, 65, 82, 3);
                }
            displayBullet = false;
        }
        g.drawImage(im4, 85, 90, 3);
        if(enemyPosX1 > 100)
            g.drawImage(dotEnemy1, 90, 90, 3);
        else
        if(enemyPosX1 < 0)
            g.drawImage(dotEnemy1, 80, 90, 3);
        else
        if((enemyPosX1 > 0) & (enemyPosX1 < 100) & (enemyPosY1 <= 70))
            g.drawImage(dotEnemy1, 85, 85, 3);
        else
        if((enemyPosX1 > 0) & (enemyPosX1 < 100) & (enemyPosY1 > 70))
            g.drawImage(dotEnemy1, 85, 95, 3);
        if(enemyPosX2 > 100)
            g.drawImage(dotEnemy1, 90, 90, 3);
        else
        if(enemyPosX2 < 0)
            g.drawImage(dotEnemy1, 80, 90, 3);
        else
        if((enemyPosX2 > 0) & (enemyPosX2 < 100) & (enemyPosY2 <= 70))
            g.drawImage(dotEnemy1, 85, 85, 3);
        else
        if((enemyPosX2 > 0) & (enemyPosX2 < 100) & (enemyPosY2 > 70))
            g.drawImage(dotEnemy1, 85, 95, 3);
        g.setColor(0, 0, 0);
        if(changeDisplay)
        {
            totalDestroyedString = Integer.toString(totalDestroyed);
            changeDisplay = false;
        }
        if(damageChanged)
        {
            damageTakenString = Integer.toString(damageTaken);
            damageChanged = false;
        }
        g.drawString("S :", 0, -4, 20);
        g.drawString(totalDestroyedString, 15, -4, 20);
        g.drawString("Life %:", 40, -4, 20);
        g.drawString(damageTakenString, 75, -4, 20);
        if(outOfBounds)
        {
            g.setColor(255, 0, 0);
            g.drawString("No Fly Zone", 20, 40, 20);
            g.drawString("Change Direction", 10, 60, 20);
        }
        if(damageTaken <= 0)
        {
            g.drawImage(bck_bottom, planeX, planeY, 3);
            g.drawImage(planeExplode, planeX, planeY, 3);
            g.setColor(255, 0, 0);
            g.drawString("Game Over !", 20, 20, 20);
        }
        repaint();
    }

    public void paint(Graphics g)
    {
        g.drawImage(buffer, 0, 0, 0);
        if(damageTaken <= 0)
            gameOver();
    }

    public void reStartAG()
    {
        enemyPosX1 = -40;
        enemyPosY1 = 50;
        enemyPosX2 = 140;
        enemyPosY2 = 40;
        flagToDisplay1 = true;
        flagToDisplay2 = true;
        flagEX1 = false;
        flagEX2 = false;
        totalDestroyed = 0;
        totalDestroyedString = "0";
        changeDisplay = false;
        displayBullet = false;
        swapBullets = 1;
        bckgrndX = 50;
        bckgrndY = 50;
        planePosition = 0;
        outOfBounds = false;
        dropBomb1E1 = true;
        dropBomb2E1 = true;
        dropBomb1E2 = true;
        dropBomb2E2 = true;
        displayBomb1 = false;
        displayBomb2 = false;
        damageTaken = 100;
        damageTakenString = "100";
        damageChanged = false;
        gamefinished = false;
        tm = new Timer();
        tt = new AGAnimateTimerTask(this);
        tm.schedule(tt, 0L, 100L);
    }

    public void gameOver()
    {
        tt.cancel();
        tm.cancel();
        tm = new Timer();
        tt = new AGAnimateTimerTask(this);
        gamefinished = true;
        tm.schedule(tt, 10000L);
    }

    public void commandAction(Command command, Displayable displayable)
    {
        if(command == cmClose)
        {
            tt.cancel();
            tm.cancel();
            midlet.RRScore(totalDestroyed);
            midlet.RMSScore();
        }
    }

    protected void keyRepeated(int i)
    {
        if(hasRepeatEvents())
            performAction(getGameAction(i));
    }

    protected void keyPressed(int i)
    {
        if(!hasRepeatEvents())
            tt.startRepeat(getGameAction(i));
    }

    protected void keyReleased(int i)
    {
        if(!hasRepeatEvents())
            tt.stopRepeat(getGameAction(i));
        planePosition = 0;
        outOfBounds = false;
    }

    public void performAction(int i)
    {
        switch(i)
        {
        case 3: // '\003'
        case 4: // '\004'
        case 7: // '\007'
        default:
            break;

        case 8: // '\b'
            displayBullet = true;
            if(swapBullets == 2)
                swapBullets = 1;
            else
                swapBullets = swapBullets + 1;
            break;

        case 1: // '\001'
            if(bckgrndY > 145)
            {
                bckgrndY = bckgrndY;
                outOfBounds = true;
            } else
            {
                bckgrndY += 5;
                enemyPosY1 += 6;
                enemyPosY2 += 6;
                enemyBomb1Y += 6;
                enemyBomb2Y += 6;
            }
            planePosition = 3;
            break;

        case 6: // '\006'
            if(bckgrndY < -45)
            {
                bckgrndY = bckgrndY;
                outOfBounds = true;
            } else
            {
                bckgrndY -= 5;
                enemyPosY1 -= 6;
                enemyPosY2 -= 6;
                enemyBomb1Y -= 6;
                enemyBomb2Y -= 6;
            }
            planePosition = 4;
            break;

        case 5: // '\005'
            if(bckgrndX < -45)
            {
                bckgrndX = bckgrndX;
                outOfBounds = true;
            } else
            {
                bckgrndX -= 5;
                enemyPosX1 -= 6;
                enemyPosX2 -= 6;
                enemyBomb1X -= 6;
                enemyBomb2X -= 6;
            }
            planePosition = 2;
            break;

        case 2: // '\002'
            if(bckgrndX > 145)
            {
                bckgrndX = bckgrndX;
                outOfBounds = true;
            } else
            {
                bckgrndX += 5;
                enemyPosX1 += 6;
                enemyPosX2 += 6;
                enemyBomb1X += 6;
                enemyBomb2X += 6;
            }
            planePosition = 1;
            break;
        }
    }

    public Image selectPlanePosition(int i)
    {
        Image image = null;
        if(i == 0)
            image = planeNorm;
        else
        if(i == 1)
            image = planeLeft;
        else
        if(i == 2)
            image = planeRight;
        else
        if(i == 3)
            image = planeUp;
        else
        if(i == 4)
            image = planeDown;
        return image;
    }
}

⌨️ 快捷键说明

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