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

📄 scrollmap.java

📁 一个j2me游戏开发引擎
💻 JAVA
字号:
// 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 

package mmae.game;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import mmae.ui.Base;

public class ScrollMap extends Base
{

    public static final int UP = 0;
    public static final int DOWN = 1;
    public static final int LEFT = 2;
    public static final int RIGHT = 3;
    public int offSetV;
    public int offSetH;
    private Image f[];
    private int b;
    private int e;
    private boolean d;
    private int g;
    private int c;
    public int step;
    private boolean h;

    public ScrollMap(Image aimage[], int i, int j, int k, int l)
    {
        step = 1;
        h = true;
        setRect(i, j, k, l);
        f = aimage;
        for(int i1 = 0; i1 < f.length; i1++)
            g += f[i1].getWidth();

        c = f[0].getHeight();
        offSetH = offSetV = 0;
        d = true;
        b = e = 3;
    }

    public boolean isAuto()
    {
        return h;
    }

    public void setAuto(boolean flag)
    {
        h = flag;
    }

    public void set360(boolean flag)
    {
        d = flag;
    }

    public boolean is360()
    {
        return d;
    }

    public void setStep(int i)
    {
        if(i >= 0)
            step = i;
    }

    public int getStep()
    {
        return step;
    }

    public void setWay(int i)
    {
        if(b == 2 || b == 3)
            e = b;
        b = i;
    }

    public int getWay()
    {
        return b;
    }

    public void move()
    {
        switch(b)
        {
        default:
            break;

        case 0: // '\0'
            if(offSetH < 0)
            {
                offSetH += step;
                break;
            }
            if(e == 2 || e == 3)
                setWay(e);
            break;

        case 1: // '\001'
            if(offSetH - step >= height - c)
            {
                offSetH -= step;
                break;
            }
            if(e == 2 || e == 3)
                setWay(e);
            break;

        case 2: // '\002'
            if(d)
            {
                offSetV -= step;
                if(offSetV < width - g)
                    offSetV = width;
                break;
            }
            if(offSetV - step > width - g)
                offSetV -= step;
            break;

        case 3: // '\003'
            if(d)
            {
                offSetV += step;
                if(offSetV > g)
                    offSetV = 0;
                break;
            }
            if(offSetV + step < 0)
                offSetV += step;
            break;
        }
    }

    public void draw(Graphics g1)
    {
        int i = g1.getClipX();
        int j = g1.getClipY();
        int k = g1.getClipWidth();
        int l = g1.getClipHeight();
        g1.setClip(left, top, width, height);
        for(int i1 = 0; i1 <= width / g + 1; i1++)
        {
            for(int j1 = 0; j1 <= height / c + 1; j1++)
            {
                int k1 = 0;
                for(int l1 = 0; l1 < f.length; l1++)
                {
                    Graphics _tmp = g1;
                    Graphics _tmp1 = g1;
                    g1.drawImage(f[l1], (offSetV - i1 * g) + left + k1, offSetH + top + j1 * c, 0x10 | 0x4);
                    k1 += f[l1].getWidth();
                }

            }

        }

        g1.setClip(i, j, k, l);
    }

    public int getWidth()
    {
        return g;
    }

    public int getHeight()
    {
        return c;
    }
}

⌨️ 快捷键说明

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