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

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

?? player_west.java~2~

?? j2me 橫版過關游戲工程。(demo).可以參考下
?? JAVA~2~
?? 第 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];
                                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一区二区三区免费野_久草精品视频
国产乱一区二区| 欧美一区三区二区| 日韩欧美激情四射| 亚洲免费在线观看| 国产一区二区三区四区五区入口| 一本色道久久综合精品竹菊| 欧美mv日韩mv国产网站| 樱桃国产成人精品视频| 粉嫩av亚洲一区二区图片| 欧美疯狂做受xxxx富婆| 亚洲天堂精品在线观看| 国产在线播放一区| 制服丝袜中文字幕一区| 亚洲精品视频观看| a4yy欧美一区二区三区| 国产欧美日韩卡一| 久久99精品久久久| 日韩欧美成人激情| 免费观看日韩av| 欧美亚洲动漫另类| 一区二区三区视频在线看| 国产成人免费视频精品含羞草妖精| 欧美精品黑人性xxxx| 亚洲国产一区视频| 91福利精品视频| 一二三四社区欧美黄| 99精品黄色片免费大全| 国产精品美女一区二区三区| 国产宾馆实践打屁股91| 久久精品一区二区三区不卡牛牛| 美女免费视频一区| 777午夜精品视频在线播放| 亚洲一区二区视频| 色猫猫国产区一区二在线视频| 国产精品免费久久久久| 99视频一区二区| 一区二区三区在线视频播放| 91免费观看视频| **欧美大码日韩| 色先锋资源久久综合| 亚洲免费观看在线视频| 欧美三日本三级三级在线播放| 亚洲免费av在线| 欧美日韩国产一级| 日韩av电影免费观看高清完整版 | 欧美精品一二三| 亚洲第一福利一区| 欧美日韩久久一区二区| 亚洲第一狼人社区| 精品三级在线观看| 成人免费视频播放| 一区二区三区 在线观看视频| 在线观看一区不卡| 毛片av一区二区| 日本一区免费视频| 日本丰满少妇一区二区三区| 亚洲成av人片在线观看无码| 日韩三级.com| eeuss国产一区二区三区| 亚洲国产成人精品视频| 精品久久久久久无| 99精品久久99久久久久| 男男成人高潮片免费网站| 久久久久99精品一区| 一本久道中文字幕精品亚洲嫩| 日韩精品免费视频人成| 国产婷婷色一区二区三区四区| 99热这里都是精品| 亚洲午夜电影在线| 91精品国产高清一区二区三区| 经典一区二区三区| 日韩女优av电影在线观看| 国产精品99久久久| 樱桃国产成人精品视频| 日韩一区二区电影网| 国产成人精品一区二区三区网站观看| 国产精品理伦片| 欧美日韩免费一区二区三区| 一级女性全黄久久生活片免费| 91麻豆精品国产无毒不卡在线观看| 蜜桃视频一区二区| 综合亚洲深深色噜噜狠狠网站| 欧美日韩精品电影| 国产福利视频一区二区三区| 一区二区三区欧美亚洲| 日韩午夜小视频| 99re热视频这里只精品| 肉色丝袜一区二区| 国产精品久久二区二区| 日韩午夜在线观看| 国产黄色成人av| 偷拍一区二区三区| 国产欧美中文在线| 欧美日韩电影在线| av激情成人网| 精品一区二区三区香蕉蜜桃 | 亚洲精品一区在线观看| 成人免费高清视频| 久久99精品久久久久久动态图| 中文字幕一区二区三区不卡| 精品国产乱码久久久久久牛牛| 99久久久国产精品| 国产成人精品www牛牛影视| 日韩在线卡一卡二| 亚洲欧美日韩一区二区| 久久久91精品国产一区二区精品| 欧美视频中文字幕| 91在线国产福利| 激情小说欧美图片| 日本网站在线观看一区二区三区| 亚洲欧洲日韩女同| 国产日韩av一区| 欧美一级日韩免费不卡| 在线观看一区二区视频| 成人av电影在线| 国产精品小仙女| 国内外精品视频| 日韩精彩视频在线观看| 亚洲福利视频导航| 午夜久久久久久电影| 亚洲欧美偷拍卡通变态| 国产精品免费aⅴ片在线观看| 亚洲精品一线二线三线无人区| 91精品国产欧美一区二区18 | 成人一区二区三区视频| 国产91丝袜在线播放九色| 精品在线一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲3atv精品一区二区三区| 亚洲一二三区视频在线观看| 亚洲欧洲韩国日本视频| 综合久久久久综合| 亚洲日本成人在线观看| 亚洲丰满少妇videoshd| 亚洲va国产天堂va久久en| 一二三区精品福利视频| 亚洲国产一区视频| 秋霞午夜鲁丝一区二区老狼| 天堂成人免费av电影一区| 亚洲区小说区图片区qvod| 亚洲第一在线综合网站| 奇米精品一区二区三区在线观看一| 天天射综合影视| 七七婷婷婷婷精品国产| 国产激情视频一区二区三区欧美| 国产又粗又猛又爽又黄91精品| 国产精品中文有码| 91偷拍与自偷拍精品| 欧美性生活一区| 91精品国产高清一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产人成亚洲第一网站在线播放| 中文无字幕一区二区三区| 久久久精品一品道一区| 一区二区欧美国产| 奇米777欧美一区二区| 国产精品888| 91福利视频网站| 日韩精品一区国产麻豆| 国产欧美日韩精品在线| 日韩精品1区2区3区| av男人天堂一区| 精品国产一区二区三区四区四| 亚洲一区二区三区中文字幕在线| 亚洲第一成年网| thepron国产精品| 欧美精品视频www在线观看| 久久九九国产精品| 午夜视频在线观看一区| 国产精品中文字幕欧美| 欧美一区二区三区四区久久| 欧美国产乱子伦| 男女男精品网站| 91免费观看在线| 久久久噜噜噜久久中文字幕色伊伊| 亚洲免费观看高清在线观看| 久久精品国产免费看久久精品| 白白色 亚洲乱淫| 欧美日本乱大交xxxxx| 亚洲欧美日韩国产一区二区三区| 美女高潮久久久| 色天使久久综合网天天| 久久亚洲春色中文字幕久久久| 亚洲一区二区三区视频在线| 九色综合狠狠综合久久| 3atv一区二区三区| 亚洲精品国产高清久久伦理二区| 国内精品久久久久影院薰衣草| 在线观看国产一区二区| 国产午夜亚洲精品午夜鲁丝片 | 樱桃国产成人精品视频| 美女尤物国产一区| 色94色欧美sute亚洲线路一久| 久久蜜桃av一区二区天堂| 麻豆91免费看| 91精品免费观看| 亚洲成年人影院| 色哟哟国产精品免费观看| 欧美精选午夜久久久乱码6080| 午夜婷婷国产麻豆精品|