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

📄 aganimationcanvas.java

📁 j2me的手机游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 

import java.io.PrintStream;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.*;

public class AGAnimationCanvas extends Canvas
    implements CommandListener
{

    private Air_Gunner midlet;
    private Command cmClose;
    private Command cmStart;
    private Image im1;
    private Image im2;
    private Image buffer;
    private Image im4;
    private Image EX;
    private Image bckgrnd;
    private Image planeNorm;
    private Image planeLeft;
    private Image planeRight;
    private Image planeUp;
    private Image planeDown;
    private Image bulletExp1;
    private Image bulletExp2;
    private Image bck_bottom;
    private Image enemy1;
    private Image enemy2;
    private Image planeExplode;
    private Image colBomb1;
    private Image colBomb2;
    private Image dotEnemy1;
    private Timer tm;
    private Timer m_scheduler;
    private AGAnimateTimerTask tt;
    private int width;
    private int height;
    int position1X;
    int position1Y;
    int enemyPosX1;
    int enemyPosY1;
    int enemyPosX2;
    int enemyPosY2;
    boolean flagToDisplay1;
    boolean flagToDisplay2;
    boolean flagEX1;
    boolean flagEX2;
    int explodeX1;
    int explodeY1;
    int explodeX2;
    int explodeY2;
    private int planeX;
    private int planeY;
    private int totalDestroyed;
    private String totalDestroyedString;
    private boolean changeDisplay;
    boolean displayBullet;
    private int swapBullets;
    private int bckgrndX;
    private int bckgrndY;
    private int planePosition;
    private boolean outOfBounds;
    int enemyBomb1X;
    int enemyBomb1Y;
    int enemyBomb2X;
    int enemyBomb2Y;
    boolean dropBomb1E1;
    boolean dropBomb2E1;
    boolean dropBomb1E2;
    boolean dropBomb2E2;
    boolean displayBomb1;
    boolean displayBomb2;
    private int damageTaken;
    private String damageTakenString;
    private boolean damageChanged;
    private boolean gamefinished;
    private boolean enemy1DisplaySwitch;
    private boolean enemy2DisplaySwitch;
    private boolean bomb1DisplaySwitch;
    private boolean bomb2DisplaySwitch;

    public AGAnimationCanvas(Air_Gunner air_gunner)
    {
        im1 = null;
        im2 = null;
        buffer = null;
        im4 = null;
        EX = null;
        bckgrnd = null;
        planeNorm = null;
        planeLeft = null;
        planeRight = null;
        planeUp = null;
        planeDown = null;
        bulletExp1 = null;
        bulletExp2 = null;
        bck_bottom = null;
        enemy1 = null;
        enemy2 = null;
        planeExplode = null;
        colBomb1 = null;
        colBomb2 = null;
        dotEnemy1 = null;
        position1X = 50;
        position1Y = 50;
        enemyPosX1 = -40;
        enemyPosY1 = 50;
        enemyPosX2 = 140;
        enemyPosY2 = 40;
        flagToDisplay1 = true;
        flagToDisplay2 = true;
        flagEX1 = false;
        flagEX2 = false;
        planeX = 50;
        planeY = 90;
        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;
        enemy1DisplaySwitch = true;
        enemy2DisplaySwitch = true;
        bomb1DisplaySwitch = true;
        bomb2DisplaySwitch = true;
        midlet = air_gunner;
        width = getWidth();
        height = getHeight();
        cmClose = new Command("Close", 1, 1);
        addCommand(cmClose);
        setCommandListener(this);
        initialiseItems();
        drawToMemory();
        tm = new Timer();
        tt = new AGAnimateTimerTask(this);
        tm.schedule(tt, 0L, 100L);
    }

    public void initialiseItems()
    {
        im1 = Image.createImage(11, 1);
        Graphics g = im1.getGraphics();
        g.setColor(0, 0, 0);
        g.drawLine(0, 0, 11, 0);
        im2 = Image.createImage(1, 11);
        Graphics g1 = im2.getGraphics();
        g1.setColor(0, 0, 0);
        g1.drawLine(0, 0, 0, 11);
        im4 = Image.createImage(2, 2);
        Graphics g2 = im4.getGraphics();
        g2.setColor(0, 0, 0);
        g2.fillRect(0, 0, 2, 2);
        dotEnemy1 = Image.createImage(2, 2);
        Graphics g3 = dotEnemy1.getGraphics();
        g3.setColor(255, 0, 0);
        g3.fillRect(0, 0, 2, 2);
        try
        {
            bckgrnd = Image.createImage("/bck300_clouds2.png");
            planeNorm = Image.createImage("/plane1.png");
            planeLeft = Image.createImage("/plane_right.png");
            planeRight = Image.createImage("/plane_right2.png");
            planeUp = Image.createImage("/plane_up.png");
            planeDown = Image.createImage("/plane_down.png");
            EX = Image.createImage("/EX2.png");
            bulletExp1 = Image.createImage("/bullet1.png");
            bulletExp2 = Image.createImage("/bullet2.png");
            bck_bottom = Image.createImage("/bottom_bck.png");
            enemy1 = Image.createImage("/en1.png");
            enemy2 = Image.createImage("/en2.png");
            planeExplode = Image.createImage("/planeEx.png");
            colBomb1 = Image.createImage("/bomb1.png");
            colBomb2 = Image.createImage("/bomb2.png");
        }
        catch(Exception exception)
        {
            System.out.println("error with image load: " + exception);
        }
    }

    public void drawToMemory()
    {
        buffer = Image.createImage(width, height);
        Graphics g = buffer.getGraphics();
        g.setClip(0, 0, 96, 100);
        g.drawImage(bckgrnd, bckgrndX, bckgrndY, 3);
        if(flagToDisplay1)
        {
            if(enemy1DisplaySwitch)
            {
                g.drawImage(enemy1, enemyPosX1, enemyPosY1, 3);
                enemy1DisplaySwitch = false;
            } else
            if(!enemy1DisplaySwitch)
            {
                g.drawImage(enemy2, enemyPosX1, enemyPosY1, 3);
                enemy1DisplaySwitch = true;
            }
            if((enemyPosX1 > 20) & (enemyPosX1 < 24) & (dropBomb1E1))
            {
                dropBomb1E1 = false;
                displayBomb1 = true;
                enemyBomb1X = enemyPosX1;
                enemyBomb1Y = enemyPosY1 + 6;
            }
        } else
        if(flagEX1)
        {
            g.drawImage(EX, explodeX1, explodeY1, 3);
            flagEX1 = false;
            flagToDisplay1 = true;
            totalDestroyed++;
            changeDisplay = true;
        }
        if(flagToDisplay2)
        {
            if(enemy2DisplaySwitch)
            {
                g.drawImage(enemy1, enemyPosX2, enemyPosY2, 3);
                enemy2DisplaySwitch = false;
            } else
            if(!enemy2DisplaySwitch)
            {
                g.drawImage(enemy2, enemyPosX2, enemyPosY2, 3);
                enemy2DisplaySwitch = true;
            }
            if((enemyPosX2 > 70) & (enemyPosX2 < 74) & (dropBomb1E2))
            {
                dropBomb1E2 = false;
                displayBomb2 = true;
                enemyBomb2X = enemyPosX2;
                enemyBomb2Y = enemyPosY2 + 6;
            }
        } else
        if(flagEX2)
        {
            g.drawImage(EX, explodeX2, explodeY2, 3);
            flagEX2 = false;
            flagToDisplay2 = true;
            totalDestroyed++;
            changeDisplay = true;
        }
        g.drawImage(im1, position1X, position1Y, 3);
        g.drawImage(im2, position1X, position1Y, 3);
        g.drawImage(bck_bottom, planeX, planeY, 3);
        g.drawImage(selectPlanePosition(planePosition), planeX, planeY, 3);
        if(displayBomb1)
            if((enemyBomb1X >= 35) & (enemyBomb1X <= 65) & (enemyBomb1Y > 80) & (enemyBomb1Y < 90))
            {
                damageTaken -= 10;
                displayBomb1 = false;
                dropBomb1E1 = true;
                damageChanged = true;
            } else
            if(bomb1DisplaySwitch)
            {
                g.drawImage(colBomb1, enemyBomb1X, enemyBomb1Y, 3);
                bomb1DisplaySwitch = false;
            } else
            if(!bomb1DisplaySwitch)
            {
                g.drawImage(colBomb2, enemyBomb1X, enemyBomb1Y, 3);
                bomb1DisplaySwitch = true;
            }
        if(displayBomb2)
            if((enemyBomb2X >= 35) & (enemyBomb2X <= 65) & (enemyBomb2Y > 80) & (enemyBomb2Y < 90))
            {
                damageTaken -= 10;
                displayBomb2 = false;
                dropBomb1E2 = true;
                damageChanged = true;

⌨️ 快捷键说明

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