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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? player_west.java~4~

?? j2me 橫版過關游戲工程。(demo).可以參考下
?? JAVA~4~
?? 第 1 頁 / 共 3 頁
字號:
            }
            if (idUse == -1)
            {
                cloudIdx = -1;
            }
            else
            {
                int dXUse = 0;
                int dYUse = 0;
                if (npc.npc[idUse].littleId == 1)
                    dXUse = -npc.npc[idUse].speed;
                if (npc.npc[idUse].littleId == 2)
                    dYUse = -npc.npc[idUse].speed;
                WestGameCanvas.mapX += dXUse;
                WestGameCanvas.mapY += dYUse;
                for (i = npcLen; --i >= 0;)
                    if (npc.npc[i] != null)
                        npc.npc[i].move(dXUse, dYUse);
            }
        }

        Npc_West npcTemp;
        int tempId;
        short[] arrayTemp;
        for (i = npcLen; --i >= 0;)
        {
            npcTemp = npc.npc[i];
            if (null != npcTemp && npcTemp.num != -1 && npcTemp.visible)
            {
                //與npc的碰撞檢測
                int collectFram;
                tempId=(npcTemp.id==3&&WestGameCanvas.gameLevel>2)?0:npcTemp.id;
                switch (tempId)
                {
                    //普通NPC
                    case 0:
                        if ((3934 & prePlayerState) == 0
                                || (42 & npcTemp.npcState) == 0)
                            break;
                        collectFram = npcTemp.frameSequence[npcTemp.getFrame()];
                        if(npcTemp.id==3)
                            arrayTemp = data.BossFrame(npcTemp.id)[collectFram];
                        else
                            arrayTemp = data.NpcFrame(npcTemp.id)[collectFram];
                        npcTemp.defineCollisionRectangle(arrayTemp[0],
                                arrayTemp[1], arrayTemp[2], arrayTemp[3]);
                        collectFram = frameSequence[getFrame()];
                        arrayTemp = data.getPlayerRec()[collectFram];
                        if ((8 & npcTemp.npcState) != 0)
                        {
                            defineCollisionRectangle(arrayTemp[0],
                                    arrayTemp[1], arrayTemp[2], arrayTemp[3]);
                            if (collidesWith(npcTemp))
                            {
                                playerState = 128 + (1 & prePlayerState);
                                if(npcTemp.id==3)
                                    WestGameCanvas.hp -= data.getBossKind()[npcTemp.littleId][5];
                                else
                                    //無敵 WestGameCanvas.hp -= data.getNpcKind()[npcTemp.littleId][5];
                                    WestGameCanvas.hp += data.getNpcKind()[npcTemp.littleId][5];
                                npcTemp.x += (1 & npcTemp.npcState) == 0 ? -20
                                        : 20;
                            }
                        }
                        //TODO player collide with npc
                        if ((64 & prePlayerState) != 0)
                        {
                            int wcx, wcw = 24;
                            //判斷是否使用棒子,計算攻擊范圍寬度
                            if (this.getFrame() == 4 && this.imgWeapon != null)
                                wcw += this.weaponIdx > 3 ? 59 : 43;
                            //判斷左右,計算攻擊范圍x位置位移
                            wcx = (1 & prePlayerState) != 0 ? (24-wcw) : 29;
                            //設置供給范圍
                            defineCollisionRectangle(wcx, arrayTemp[1], wcw,
                                    arrayTemp[3]);
                            if (collidesWith(npcTemp))
                            {
                                npcTemp.npcState = 16 + (1 & npcTemp.npcState);
                                if(npcTemp.id==3)
                                	npcTemp.hp -= data.getBossKind()[npcTemp.littleId][4];
                                else
                                	npcTemp.hp -= data.getNpcKind()[npcTemp.littleId][4];
                                //npcTemp
                                npcTemp.x += (1 & npcTemp.npcState) == 0 ? -20
                                        : 20;
                            }
                        }
                        break;
                    //與云層相碰
                    case 1:
                        if ((16 & prePlayerState) == 0)
                            break;
                        if (x + 26 > npcTemp.x
                                && x + 26 < npcTemp.x + npcTemp.srcFrameWidth
                                && y + 54 > npcTemp.y
                                && y + 54 < npcTemp.y + npcTemp.srcFrameHeight
                                && cloudIdx == -1)
                        {
                            playerState = 2 | (1 & prePlayerState);
                            cloudIdx = npcTemp.num;
                            int dY = y + srcFrameHeight - npcTemp.y - 10;
                            WestGameCanvas.mapY += dY;
                            for (int j = npc.npc.length; --j >= 0;)
                                if (null != npc.npc[j])
                                    npc.npc[j].y += dY;
                        }
                        else
                        {
                            if (cloudIdx == npcTemp.num)
                                cloudIdx = -1;
                        }
                        break;
                    //與道具相碰撞
                    case 2:
                        collectFram = frameSequence[getFrame()];
                        arrayTemp = data.getPlayerRec()[collectFram];
                        defineCollisionRectangle(arrayTemp[0], arrayTemp[1],
                                arrayTemp[2], arrayTemp[3]);
                        if (collidesWith(npcTemp))
                        {
                            npcTemp.visible = false;
                            switch (npcTemp.littleId)
                            {
                                case 0:
                                    WestGameCanvas.hp += 20;
                                    break;
                                case 1:
                                    WestGameCanvas.hp += 50;
                                    break;
                                case 2:
                                    WestGameCanvas.hp += 100;
                                    break;
                            }
                            if (WestGameCanvas.hp > 100)
                                WestGameCanvas.hp = 100;
                        }
                        break;
                    //TODO boss coll
                    case 3:
                        if ((1886 & prePlayerState) == 0)
                            break;
                        collectFram = npcTemp.frameSequence[npcTemp.getFrame()];
                        arrayTemp = data.BossFrame(npcTemp.id)[collectFram];
                        npcTemp.defineCollisionRectangle(arrayTemp[0],
                                arrayTemp[1], arrayTemp[2], arrayTemp[3]);
                        int stoneIdx;
                        for (stoneIdx = npc.npc.length; --stoneIdx >= 0;)
                        {
                            if (null != npc.npc[stoneIdx]
                                    && npc.npc[stoneIdx].id == 4)
                                break;
                        }
                        if (stoneIdx >= 0
                                && (npc.npc[stoneIdx].npcState & 8) != 0)
                        {
                            if (npcTemp.collidesWith(npc.npc[stoneIdx]))
                            {
                                int space = 1 & npcTemp.npcState;
                                npcTemp.npcState = space | 32;
                                space = space == 0 ? -5 : 5;
                                npcTemp.x += space;
                                npcTemp.hp -= data.getBossKind()[npcTemp.littleId][4];
                                npc.npc[stoneIdx].npcState = 2;
                                npc.npc[stoneIdx].x += space;
                                npc.npc[stoneIdx].y = data.getNpcPosition()[npc.npc[stoneIdx].num][3]
                                        + WestGameCanvas.mapY;
                                return;
                            }
                        }
                        switch (collectFram)
                        {
                            case 4:
                            case 5:
                            case 13:
                            case 14:
                                collectFram = frameSequence[getFrame()];
                                arrayTemp = data.getPlayerRec()[collectFram];
                                defineCollisionRectangle(arrayTemp[0],
                                        arrayTemp[1], arrayTemp[2],
                                        arrayTemp[3]);
                                if (collidesWith(npcTemp))
                                {
                                    playerState = 128 + (1 & prePlayerState);
                                    WestGameCanvas.hp -= data.getBossKind()[npcTemp.littleId][5];
                                    if (stoneIdx >= 0
                                            && (prePlayerState & 768) != 0)
                                    {
                                        npc.npc[stoneIdx].npcState = 2;
                                        npc.npc[stoneIdx].y = data
                                                .getNpcPosition()[npc.npc[stoneIdx].num][3]
                                                + WestGameCanvas.mapY;
                                    }
                                }
                                defineCollisionRectangle(0, 0, srcFrameWidth,
                                        srcFrameHeight);
                                break;
                        }
                        break;
                }

            }
        }
        defineCollisionRectangle(0, 0, srcFrameWidth, srcFrameHeight);
    }

    /**
     * 設置最后的動畫序列
     *
     */
    private void setFinalSequence(boolean isChangeBack)
    {

        if (playerState != prePlayerState || isChangeBack)
        {
            boolean isChangeDir = false;
            if ((1 & playerState) != (1 & prePlayerState))
            {
                isChangeDir = true;
            }
            int question;//有問題: 當由左下跳的狀態到左站立的狀態變化時此處判斷不起作用
            if ((65471 & playerState) != (65471 & prePlayerState)
                    || isChangeBack)
            {
                switch (65471 & playerState)
                {
                    case 2:
                    case 3:
                        prePlayerState = (65471 & playerState)
                                + (64 & prePlayerState);
                        if ((64 & playerState) == 0)
                            setCurrSequence(data.getPlayer()[24], data
                                    .getPlayer()[25]);
                        speedX = speedY = mark = 0;
                        break;
                    case 4:
                    case 5:
                        if ((70 & prePlayerState) != 0)
                        {
                            prePlayerState = (65471 & playerState)
                                    + (64 & prePlayerState);
                            if (!isChangeBack)
                            {
                                speedX = data.getPlayer()[5];
                                speedY = mark = 0;
                                if ((1 & prePlayerState) == 1)
                                {
                                    speedX = -speedX;
                                }
                            }
                            if ((64 & prePlayerState) == 0)
                                setCurrSequence(data.getPlayer()[18], data
                                        .getPlayer()[19]);
                        }
                        break;
                    case 8:
                    case 9:
                        if ((2118 & prePlayerState) != 0)
                        {
                            if (!isChangeBack)
                            {
                                mark = 0;
                            }
                            prePlayerState = (65471 & playerState)
                                    + (64 & prePlayerState);
                            if ((64 & playerState) == 0)
                                setCurrSequence(data.getPlayer()[8], data
                                        .getPlayer()[9]);
                            if ((1 & prePlayerState) == 1)
                            {
                                speedX = -speedX;
                            }
                        }
                        break;
                    case 16:
                    case 17:
                        if ((318 & prePlayerState) != 0)
                        {
                            prePlayerState = (65471 & playerState)
                                    + (64 & prePlayerState);
                            if ((64 & playerState) == 0)
                                setCurrSequence(data.getPlayer()[10], data
                                        .getPlayer()[11]);
                            mark = data.playerJump()[0].length - 1;
                        }
                        break;
                    case 32:
                    case 33:
                        setCurrSequence(data.getPlayer()[26],
                                data.getPlayer()[27]);
                        mark = 0;
                        prePlayerState = playerState;
                        speedX = speedY = 0;
                        break;
                    case 128:
                    case 129:
                        if ((3934 & prePlayerState) != 0)
                        {
                            prePlayerState = 128 + (1 & prePlayerState);
                            speedX = 0;
                            setCurrSequence(data.getPlayer()[14], data
                                    .getPlayer()[15]);
                            mark = 5;
                        }
                        break;
                    case 256:
                    case 257:
                        if ((582 & prePlayerState) != 0)
                        {
                            prePlayerState = playerState;
                            speedX = 0;
                            setCurrSequence(data.getPlayer()[12], data
                                    .getPlayer()[13]);
                        }
                        break;
                    case 512:
                    case 513:
                        prePlayerState = playerState;
                        speedX = data.getPlayer()[5];
                        if (prePlayerState == 513)
                        {
                            speedX = -speedX;
                        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品aaa| 一区二区三区中文字幕在线观看| 91久久精品一区二区| 国产毛片精品一区| 国产在线看一区| 国内精品免费在线观看| 狠狠色丁香九九婷婷综合五月| 精品一区二区三区香蕉蜜桃| 国内精品久久久久影院薰衣草| 精品一区二区精品| 国产一区视频网站| 成人白浆超碰人人人人| 99久久免费国产| 欧美色欧美亚洲另类二区| 欧美精品第1页| 久久综合久久综合久久| 亚洲国产精品ⅴa在线观看| 亚洲欧美在线视频| 天堂久久久久va久久久久| 久久福利资源站| 99久久婷婷国产综合精品| 欧美在线视频不卡| 精品国产凹凸成av人网站| 亚洲欧洲日产国码二区| 亚洲成人福利片| 国产专区综合网| 一本一道久久a久久精品| 欧美性色欧美a在线播放| 日韩欧美在线1卡| 国产精品不卡在线观看| 日韩av一级电影| 丰满少妇久久久久久久| 欧美性生活大片视频| 久久久久9999亚洲精品| 免费看欧美美女黄的网站| 精品一区二区三区免费毛片爱| www.激情成人| 日韩欧美一级精品久久| 中文字幕日韩欧美一区二区三区| 午夜精品久久久久久久久久| 国精产品一区一区三区mba视频 | 色八戒一区二区三区| 7777精品久久久大香线蕉| 国产精品麻豆视频| 久久综合综合久久综合| 91麻豆福利精品推荐| 精品99一区二区| 亚洲.国产.中文慕字在线| 国产成人啪免费观看软件| 91精品国产综合久久久久久| 亚洲黄色免费网站| 成人免费高清在线| 久久亚洲二区三区| 免费在线一区观看| 欧美日韩高清在线| 一二三四区精品视频| 97国产一区二区| 欧美国产欧美亚州国产日韩mv天天看完整 | 91国产免费观看| 国产精品网站导航| 国产成人一级电影| 久久久精品欧美丰满| 狠狠色丁香婷婷综合久久片| 666欧美在线视频| 亚洲成va人在线观看| bt欧美亚洲午夜电影天堂| 久久免费偷拍视频| 国产福利91精品一区| 欧美成人在线直播| 久久精品国产亚洲高清剧情介绍| 欧美麻豆精品久久久久久| 一级精品视频在线观看宜春院 | ww久久中文字幕| 久久精品免费看| 久久色中文字幕| 国模少妇一区二区三区| 精品国产乱码久久久久久影片| 美国欧美日韩国产在线播放| 日韩精品中午字幕| 国产一区在线不卡| 国产精品女同一区二区三区| 成人av影视在线观看| 成人欧美一区二区三区小说 | 91麻豆精品国产91久久久使用方法| 最新不卡av在线| 在线观看欧美精品| 午夜欧美电影在线观看| 日韩精品一区二区三区四区| 国产美女精品在线| 国产精品初高中害羞小美女文| 日本精品一级二级| 天天影视涩香欲综合网| 日韩视频在线你懂得| 国产精品一二三区| 亚洲视频 欧洲视频| 717成人午夜免费福利电影| 精品在线观看免费| 综合欧美亚洲日本| 在线播放/欧美激情| 国产一区二区美女诱惑| 亚洲激情成人在线| 欧美一区二区三区小说| 成人美女视频在线看| 丝袜亚洲另类欧美| 欧美极品aⅴ影院| 精品视频一区 二区 三区| 国产一区免费电影| 亚洲国产精品一区二区www在线| 亚洲精品在线三区| 在线区一区二视频| 国产美女av一区二区三区| 亚洲精品美腿丝袜| 精品国产乱码久久| 91精彩视频在线| 国产酒店精品激情| 日日摸夜夜添夜夜添精品视频| 中文一区二区在线观看| 这里只有精品电影| 99国产精品99久久久久久| 精品在线免费视频| 丝袜亚洲另类丝袜在线| 亚洲精品中文在线影院| 久久久久国产精品麻豆| 91精品在线麻豆| 91国产福利在线| 99久久精品免费看| 免费看欧美美女黄的网站| 一区二区三区四区不卡在线 | 国产精品久久久久久久久免费樱桃| 欧美精品久久久久久久久老牛影院| 成人手机电影网| 国产真实乱对白精彩久久| 免费在线观看不卡| 亚洲国产日韩a在线播放性色| 国产精品另类一区| 久久久久久亚洲综合| 91麻豆精品国产91久久久久久久久| 一本到三区不卡视频| 成人午夜激情影院| 国产sm精品调教视频网站| 精品一区二区三区久久| 男人的天堂亚洲一区| 日本三级亚洲精品| 日本欧美大码aⅴ在线播放| 亚洲18色成人| 肉色丝袜一区二区| 三级久久三级久久久| 亚洲成av人片在线| 午夜精品免费在线观看| 亚洲超碰97人人做人人爱| 亚洲一区二区三区精品在线| 一区二区三区精品在线| 亚洲主播在线播放| 五月天激情综合网| 日韩电影在线一区| 久久99精品久久只有精品| 精品一区二区三区免费| 国产精品一二三四五| 成人免费黄色大片| 99久久综合国产精品| 99久久精品国产毛片| 91精品1区2区| 日韩视频永久免费| 国产欧美综合在线观看第十页 | 欧美日本免费一区二区三区| 欧美日韩在线综合| 欧美一区二区在线免费播放| 日韩一区二区影院| 久久久精品欧美丰满| 亚洲特黄一级片| 日韩国产一区二| 国产精品99久久久久久似苏梦涵| eeuss鲁片一区二区三区在线观看| 色www精品视频在线观看| 欧美猛男gaygay网站| 欧美成人女星排名| 中文字幕不卡在线| 日精品一区二区三区| 国产精品1区2区| 在线免费不卡视频| 亚洲精品一区二区三区四区高清| 中文字幕亚洲一区二区va在线| 亚洲国产视频在线| 国产精品一区二区免费不卡| 色又黄又爽网站www久久| 欧美一区二区三区爱爱| 日本一区二区三区dvd视频在线| 亚洲尤物在线视频观看| 国产一区在线看| 欧美日韩在线播| 国产欧美日本一区视频| 蜜臀99久久精品久久久久久软件| 国产98色在线|日韩| 91福利国产成人精品照片| 久久综合久久综合九色| 一区二区三区欧美久久| 国产69精品久久99不卡| 欧美精品乱码久久久久久按摩| 国产精品乱人伦一区二区| 蜜桃av噜噜一区|