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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? piecesprite.java

?? j2me簡單實例,j2me教程加源碼,希望大家喜歡
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
            }

            int aniLength = currentAnimation.length;
            // CHECK IF ANIMATION IS OVER
            if (currentFrameNr + 1 == aniLength)
            {
                // IF REPEAT THEN SET FRAME 0
                if (isAnimationRepeat)
                {
                    return setFrame( (short) 0);
                }
                isEndOfAnimation = true;
                return -1;
            }
            return setFrame( (short) (currentFrameNr + 1));
        }
        else
        {
            return playNextFrame();

        }
    }

    /**
     * 播放下一幀,該方法用于播放大量幀數(shù)據(jù)的動畫
     */
    public int playNextFrame()
    {
        // CHECK IF WE CAN SWITCH FOR NEXT FRAME (IS FINISHED FRAME TIME)
        if (startFrameTime + currentFrameTime > System.currentTimeMillis())
        {
            return -1;
        }

        int aniLength = CurrentAnimationFrameLength;
        // CHECK IF ANIMATION IS OVER
        if (currentFrameNr + 1 == aniLength)
        {
            // IF REPEAT THEN SET FRAME 0
            if (isAnimationRepeat)
            {

                try
                {
                    dis.close();
                    //  is.close();
                    is = null;
                    dis = null;
                    is = getClass().getResourceAsStream(m_strBinData);
                    dis = new DataInputStream(is);
                    currentFrameNr = 0;
                    FrameIndex = 0;
                    //讀取動畫長度
                    short PlayerAnimationsLength = ReadShortFromBCC(dis);
                    CurrentAnimationFrameLength = ReadShortFromBCC(dis);

                }

                catch (IOException ex)
                {
                    ex.printStackTrace();
                }

                return 0; //setFrame((short)0);
            }
            else
            {
                try
                {
                    dis.close();
                }

                catch (IOException ex)
                {
                }
            }
            return -1;
        }
        return playNext();

    }

    int FrameIndex = 0;
    private int playNext()
    {

        int globalOX = ReadShortFromBCC(dis) * m_rate / 100;
        int globalOY = ReadShortFromBCC(dis) * m_rate / 100;
        int time = ReadShortFromBCC(dis);
        int value = ReadShortFromBCC(dis) * m_rate / 100;
        int rx = ReadShortFromBCC(dis) * m_rate / 100;
        int ry = ReadShortFromBCC(dis) * m_rate / 100;
        int rx2 = ReadShortFromBCC(dis) * m_rate / 100;
        int ry2 = ReadShortFromBCC(dis) * m_rate / 100;

        //讀取該Frame的包含的零件的長度
        int CurrentFramePieceLength = ReadShortFromBCC(dis);
        short frameData[][] = new short[CurrentFramePieceLength + 1][];

        for (int k = 0; k < CurrentFramePieceLength + 1; k++)
        {
            if (k == 0)
            {
                frameData[k] = new short[8];

                frameData[0][0] = (short) value;
                frameData[0][1] = (short) time;
                frameData[0][2] = (short) globalOX;
                frameData[0][3] = (short) globalOY;
                frameData[0][4] = (short) rx;
                frameData[0][5] = (short) ry;
                frameData[0][6] = (short) (rx2 - rx);
                frameData[0][7] = (short) (ry2 - ry);
            }
            else
            {
                frameData[k] = new short[6];

                int ox = ReadShortFromBCC(dis) * m_rate / 100;
                int oy = ReadShortFromBCC(dis) * m_rate / 100;
                rx = ReadShortFromBCC(dis) * m_rate / 100;
                ry = ReadShortFromBCC(dis) * m_rate / 100;
                rx2 = ReadShortFromBCC(dis) * m_rate / 100;
                ry2 = ReadShortFromBCC(dis) * m_rate / 100;

                frameData[k][0] = (short) rx;
                frameData[k][1] = (short) ry;
                frameData[k][2] = (short) (rx2 - rx);
                frameData[k][3] = (short) (ry2 - ry);
                frameData[k][4] = (short) ox;
                frameData[k][5] = (short) oy;
            }
        }

        currentFrameNr = (short) FrameIndex++;
        currentFrame = frameData;

        currentFrameValue = currentFrame[0][0];
        currentFrameTime = currentFrame[0][1];
        currentFrameGlobalX = currentFrame[0][2];
        currentFrameGlobalY = currentFrame[0][3];
        currentFrameCollisionX = currentFrame[0][4];
        currentFrameCollisionY = currentFrame[0][5];
        currentFrameCollisionW = currentFrame[0][6];
        currentFrameCollisionH = currentFrame[0][7];

        startFrameTime = System.currentTimeMillis();

        return currentFrameValue;

    }

    public void paint(Graphics g, int x, int y, int Way)
    {
        if (currentFrame == null)
        {
            return;
        }
        int sx = x;
        int sy = y;

        // SKIP FIRST ARRAY (THIS IS FRAME SETTINGS DATA)
        for (int i = 1; i < currentFrame.length; i++)
        {

            if (Way == TRANS_NONE)
            {
                // ADD GLOBAL AND FRAME OFFSET X
                x = sx + currentFrameGlobalX + currentFrame[i][4];
                // ADD GLOBAL AND FRAME OFFSET Y
                y = sy + currentFrameGlobalY + currentFrame[i][5];
                //這里得改進bug,如果繪制圖片沒有的部分將溢出
                g.drawRegion(sprImage, currentFrame[i][0], currentFrame[i][1],
                             currentFrame[i][2], currentFrame[i][3], Way, x, y,
                             Graphics.LEFT | Graphics.TOP);
            }
            if (Way == TRANS_MIRROR)
            {
                // ADD GLOBAL AND FRAME OFFSET X
                x = sx + currentFrameGlobalX - currentFrame[i][4] -
                    currentFrame[i][2];
                // ADD GLOBAL AND FRAME OFFSET Y
                y = sy + currentFrameGlobalY + currentFrame[i][5];
                //using midp2.0 api
                g.drawRegion(sprImage, currentFrame[i][0], currentFrame[i][1],
                             currentFrame[i][2], currentFrame[i][3], Way,
                             x, y, Graphics.LEFT | Graphics.TOP);
            }
        }
    }

    /**
     * drawRegion
     *
     * @param g Graphics
     * @param dg DirectGraphics
     * @param img Image
     * @param x_src int 圖上的x作標
     * @param y_src int 圖上的y作標
     * @param width int 圖 的width
     * @param height int 圖 的height
     * @param transform int 變換方式
     * @param x_dest int 繪制坐標x
     * @param y_dest int 繪制坐標Y
     * @param anchor int 錨點
     */
    static void drawRegion(Graphics g, Image img,
                           int x_src,
                           int y_src,
                           int width,
                           int height,
                           int transform,
                           int x_dest,
                           int y_dest,
                           int anchor)
    {
        int x = 0, y = 0;
        int manipulation = 0;
        int imgWidth = img.getWidth();
        int imgHeight = img.getHeight();
        int offsetx, offsety;
        offsetx = 0;
        offsety = 0;

        if ( (anchor & HCENTER) != 0)
        {
            offsetx = - (width >> 1);
        }
        else if ( (anchor & RIGHT) != 0)
        {
            offsetx = -width;
        }
        if ( (anchor & VCENTER) != 0)
        {
            offsety = - (height >> 1);
        }
        else if ( (anchor & BOTTOM) != 0)
        {
            offsety = -height;
        }
        if (transform == TRANS_ROT90 || transform == TRANS_ROT270 ||
            transform == TRANS_MIRROR_ROT90 || transform == TRANS_MIRROR_ROT270)
        {
            g.setClip(x_dest + offsetx, y_dest + offsety, height, width);
            g.clipRect(x_dest + offsetx, y_dest + offsety, height, width);
        }
        else
        {
            g.setClip(x_dest + offsetx, y_dest + offsety, width, height);
            g.clipRect(x_dest + offsetx, y_dest + offsety, width, height);
        }
        switch (transform)
        {
            case TRANS_NONE:
                x = x_dest - x_src;
                y = y_dest - y_src;
                manipulation = 0;
                break;
        }
        g.drawImage(img, x + offsetx, y + offsety, Graphics.LEFT | Graphics.TOP);
        g.setClip(0, 0, g.getClipWidth(), g.getClipHeight());
    }

    public boolean isCollision(int sprite1PosX, int sprite1PosY,
                               PieceSprite sprite2, int sprite2PosX,
                               int sprite2PosY)
    {
        int x1 = sprite1PosX + currentFrameCollisionX + currentFrameGlobalX;
        int y1 = sprite1PosY + currentFrameCollisionY + currentFrameGlobalY;
        int w1 = currentFrameCollisionW;
        int h1 = currentFrameCollisionH;

        int x2 = sprite2PosX + sprite2.currentFrameCollisionX +
            sprite2.currentFrameGlobalX;
        int y2 = sprite2PosY + sprite2.currentFrameCollisionY +
            sprite2.currentFrameGlobalY;
        int w2 = sprite2.currentFrameCollisionW;
        int h2 = sprite2.currentFrameCollisionH;

        return! (x1 + w1 < x2 || x1 > x2 + w2 || y1 + h1 < y2 || y1 > y2 + h2);
    }
    /**
     * 檢測當前動畫是否播放完成
     */
    public boolean bAnimationOver()
    {
        return isEndOfAnimation;
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩高潮美女一区二区三区| 亚洲欧洲精品一区二区三区不卡| 亚洲一二三区在线观看| 91亚洲精品久久久蜜桃网站| 国产免费成人在线视频| 懂色av一区二区夜夜嗨| 久久精品夜色噜噜亚洲aⅴ| 精彩视频一区二区| 精品88久久久久88久久久| 国产一区在线不卡| 久久精品日韩一区二区三区| 韩国成人在线视频| 精品动漫一区二区三区在线观看| 久久se这里有精品| 精品国产三级电影在线观看| 国产最新精品精品你懂的| 久久网站热最新地址| 国产酒店精品激情| 中文字幕制服丝袜一区二区三区 | 老司机精品视频在线| 欧美精品日韩一区| 美日韩黄色大片| 久久综合九色欧美综合狠狠| 成人黄色电影在线| 亚洲激情第一区| 在线播放一区二区三区| 久久精品99国产精品日本| 久久亚洲综合av| 国产成人丝袜美腿| 亚洲激情图片小说视频| 日韩欧美综合一区| 国产99久久久国产精品潘金| 亚洲色图都市小说| 51久久夜色精品国产麻豆| 国产在线麻豆精品观看| 中文av字幕一区| 91精品福利在线| 蜜臀av一区二区在线观看| 欧美激情在线一区二区三区| 91网站视频在线观看| 国产精品福利一区二区三区| 精品视频1区2区| 麻豆免费看一区二区三区| 久久夜色精品国产噜噜av| 99精品桃花视频在线观看| 亚洲午夜电影在线| 久久精品一区二区三区不卡 | 在线观看视频欧美| 亚洲va国产va欧美va观看| 亚洲精品在线三区| voyeur盗摄精品| 免费成人结看片| 一区二区三区在线视频观看| 欧美理论在线播放| 波多野结衣在线aⅴ中文字幕不卡| 三级影片在线观看欧美日韩一区二区| 久久人人爽人人爽| 欧美日韩在线精品一区二区三区激情| 国产精品羞羞答答xxdd | 亚洲综合自拍偷拍| 国产午夜亚洲精品羞羞网站| 777a∨成人精品桃花网| 99久久精品国产导航| 国产一区三区三区| 亚洲成人免费观看| 亚洲人一二三区| 久久精品夜色噜噜亚洲aⅴ| 91精品国产综合久久久蜜臀图片| 成人av在线看| 国产激情一区二区三区四区 | 日韩 欧美一区二区三区| 亚洲色图欧洲色图婷婷| 久久女同互慰一区二区三区| 欧美一区二区啪啪| 欧美午夜一区二区三区| 99久久精品国产观看| 国产精品自拍一区| 黑人巨大精品欧美一区| 奇米色777欧美一区二区| 亚洲成av人片一区二区| 亚洲精品videosex极品| 亚洲视频在线一区二区| 国产精品久久久久久久久免费桃花 | 亚洲午夜精品网| 亚洲精品伦理在线| 亚洲欧美激情在线| 亚洲九九爱视频| 亚洲六月丁香色婷婷综合久久| 综合分类小说区另类春色亚洲小说欧美| 日韩免费观看高清完整版在线观看| 制服丝袜中文字幕亚洲| 欧美一区日本一区韩国一区| 5月丁香婷婷综合| 91精品欧美福利在线观看 | 精品久久一二三区| 欧美电影影音先锋| 欧美日韩激情一区二区| 欧美老年两性高潮| 日韩欧美综合一区| 日韩精品中午字幕| 2023国产精品| 中文字幕精品综合| 1024国产精品| 伊人婷婷欧美激情| 婷婷一区二区三区| 久久av中文字幕片| 国产成人精品三级| 色综合久久中文字幕综合网| 在线观看视频欧美| 日韩精品一区二区三区视频在线观看 | 欧美一区二区三区白人| 欧美成人高清电影在线| 2017欧美狠狠色| 国产精品麻豆一区二区| 亚洲精品日韩综合观看成人91| 国产精品日韩成人| 亚洲理论在线观看| 亚洲已满18点击进入久久| 亚洲一区二区3| 另类小说一区二区三区| 成人午夜免费av| 在线免费视频一区二区| 日韩三级免费观看| 国产精品视频线看| 亚洲国产精品一区二区尤物区| 老色鬼精品视频在线观看播放| 福利视频网站一区二区三区| 欧美亚洲一区二区在线| 欧美日韩你懂得| 91精品欧美福利在线观看 | 欧美精品色一区二区三区| 91精品国产综合久久蜜臀| 国产午夜精品一区二区三区四区| 欧美国产精品中文字幕| 香蕉久久一区二区不卡无毒影院| 国产一区二区三区视频在线播放| 色综合夜色一区| 日韩视频一区二区三区| 亚洲色图丝袜美腿| 国内精品国产三级国产a久久| 色婷婷av久久久久久久| 久久综合色天天久久综合图片| 亚洲最大成人综合| 粉嫩av一区二区三区在线播放| 91麻豆精品国产91久久久更新时间| 欧美国产乱子伦| 蜜桃久久久久久| 欧美性猛交一区二区三区精品 | 男女视频一区二区| av网站一区二区三区| 精品福利一区二区三区| 亚洲动漫第一页| 91啪在线观看| 国产欧美久久久精品影院| 夜夜嗨av一区二区三区网页| 国产综合色视频| 91精品国产综合久久蜜臀| 一区二区三区日韩欧美精品| 成人免费视频一区二区| 欧美精品一区二区在线播放| 天天色图综合网| 91久久精品一区二区三区| 中文字幕一区二区三区视频| 国产电影精品久久禁18| 精品国产髙清在线看国产毛片| 日韩国产高清影视| 色噜噜久久综合| 亚洲日本一区二区| 精品一区二区三区日韩| 日韩欧美在线1卡| 日韩黄色片在线观看| 欧美午夜寂寞影院| 亚洲精品中文在线| 色婷婷国产精品久久包臀| 中文字幕乱码一区二区免费| 久久电影网站中文字幕| 一本大道综合伊人精品热热| 日本一二三不卡| 成人在线视频一区二区| 国产人久久人人人人爽| 国产成人精品综合在线观看| 国产婷婷色一区二区三区| 国产高清精品网站| 国产精品视频第一区| 99热精品国产| 亚洲视频一二区| 在线中文字幕一区| 亚洲国产欧美日韩另类综合| 欧美日韩综合在线| 日本视频中文字幕一区二区三区| 欧美日本视频在线| 美女爽到高潮91| 久久影院午夜论| 国产+成+人+亚洲欧洲自线| 国产精品区一区二区三| 99久久久久免费精品国产| 亚洲激情男女视频| 欧美人与禽zozo性伦| 日本成人超碰在线观看| 欧美一区二区三区系列电影|