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

📄 feiji_canvas.java

📁 JAVA的手机游戏
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                    if(feiji_ziji_zidan_shuzu[i][0]-feiji_ziji_zidan_shuzu[i][2]>=0-feiji_ziji_zidan_W//左边出去
                       &&feiji_ziji_zidan_shuzu[i][0]+feiji_ziji_zidan_shuzu[i][2]<=screen_W//右边出去
                       &&feiji_ziji_zidan_shuzu[i][1]-feiji_ziji_zidan_shuzu[i][3]>=0-feiji_ziji_zidan_H//上边出去
                       &&feiji_ziji_zidan_shuzu[i][1]+feiji_ziji_zidan_shuzu[i][3]<=screen_H){//下边出去
                        feiji_ziji_zidan_shuzu[i][1]-=feiji_ziji_zidan_shuzu[i][3];
                    }else{
                        feiji_ziji_zidan_shuzu[i][5]=0;
                        feiji_ziji_zidan_geshu--;
                    }
                }
            }
        }
    }

    void next_feiji_ziji_zidan_paopao_movp(){
        for(int i=0;i<feiji_ziji_zidan_paopao_shuzu.length;i++){
            if(feiji_ziji_zidan_paopao_shuzu[i][5]!=0){
                feiji_ziji_zidan_paopao_shuzu[i][1]-=feiji_ziji_zidan_paopao_shuzu[i][3];
                if(feiji_ziji_zidan_paopao_anzhu){
                    feiji_ziji_zidan_paopao_shuzu[feiji_ziji_zidan_paopao_anzhuweizhi][1]=feiji_ziji_y-23;
                }
            }
        }
        for(int i=0;i<feiji_ziji_zidan_paopao_shuzu.length;i++){
            if(feiji_ziji_zidan_paopao_shuzu[i][5]!=0){
                if(feiji_ziji_zidan_paopao_shuzu[i][1]<0-23){
                    feiji_ziji_zidan_paopao_shuzu[i][5]=0;
                }
            }
        }
        if(feiji_ziji_zidan_paopao_keyifashe){//可以发射泡泡的子弹
            feiji_ziji_zidan_paopao_queren=false;
            feiji_ziji_zidan_paopao_shu=0;
            feiji_ziji_zidan_paopao_geshu=0;
            feiji_ziji_zidan_paopao_keyifashe=false;
        }
    }

    void logic(){//主角更新、移动,子弹移动,调用npc移动方法
        switch(game_state){
        case game_state_run:
            next_feiji_ziji_movp();
            next_feiji_ziji_zidan_movp();
            next_feiji_ziji_zidan_paopao_gouzao();
            next_feiji_ziji_zidan_paopao_meifang();
            next_feiji_ziji_zidan_paopao_movp();
            next_npc_feiji_shuaxin();
            next_npc_feiji_yidong();
            next_ziji_feijishifoucunhuo();
            next_youxijieshu();
            next_pengzhuang_feiji_daoju();
            next_daoju_yidong();
            next_pengzhuang_npc_zidan_ziji();
            break;
        }
    }

    void paint_feiji_ziji(Graphics g){//显示自己的飞机
        if(feiji_ziji_yangzi%left==0&&feiji_ziji_yangzi%right!=0){
            g.setClip(feiji_ziji_x,feiji_ziji_y,feiji_ziji_W,feiji_ziji_H);
            g.drawImage(feiji_ziji_tu,feiji_ziji_x,feiji_ziji_y,0);
        }
        else{
            if(feiji_ziji_yangzi%right==0&&feiji_ziji_yangzi%left!=0){
                g.setClip(feiji_ziji_x,feiji_ziji_y,feiji_ziji_W,feiji_ziji_H);
                g.drawImage(feiji_ziji_tu,feiji_ziji_x-2*feiji_ziji_W,feiji_ziji_y,0);
            }
            else{
                if(feiji_ziji_yangzi%up==0||feiji_ziji_yangzi%down==0||feiji_ziji_yangzi%stop==0){
                    g.setClip(feiji_ziji_x,feiji_ziji_y,feiji_ziji_W,feiji_ziji_H);
                    g.drawImage(feiji_ziji_tu,feiji_ziji_x-feiji_ziji_W,feiji_ziji_y,0);
                }
            }
        }
    }

    void paint_feiji_ziji_zidan(Graphics g){//显示自己的子弹
        if(feiji_ziji_zidan_geshu>0){
            for(int i=0;i<feiji_ziji_zidan_shuzu.length;i++){
                if(feiji_ziji_zidan_shuzu[i][5]!=0){
                    g.setClip(feiji_ziji_zidan_shuzu[i][0],feiji_ziji_zidan_shuzu[i][1],feiji_ziji_zidan_W,feiji_ziji_zidan_H);
                    g.drawImage(zidan_tu,feiji_ziji_zidan_shuzu[i][0],feiji_ziji_zidan_shuzu[i][1],0);
                }
            }
        }
    }

    void next_feiji_ziji_zidan_paopao_gouzao(){
        if(feiji_ziji_zidan_paopao_geshu>0){
            if(feiji_ziji_zidan_paopao_keyifashe==false){
                for(int i=0;i<feiji_ziji_zidan_paopao_shuzu.length;i++){
                    if(feiji_ziji_zidan_paopao_shuzu[i][5]==0){
                        feiji_ziji_zidan_paopao_shuzu[i][0]=feiji_ziji_x+4;
                        feiji_ziji_zidan_paopao_shuzu[i][1]=feiji_ziji_y-23;
                        feiji_ziji_zidan_paopao_shuzu[i][3]=feiji_ziji_zidan_paopao_speed;
                        feiji_ziji_zidan_paopao_shuzu[i][4]=feiji_ziji_zidan_paopao_weili;
                        feiji_ziji_zidan_paopao_shuzu[i][5]=1;
                        feiji_ziji_zidan_paopao_geshu=0;
                        break;
                    }
                }
            }
        }
        else{
            if(feiji_ziji_zidan_paopao_queren){
                feiji_ziji_zidan_paopao_shu++;
            }
            if(feiji_ziji_zidan_paopao_shu>=feiji_ziji_zidan_paopao_time){
                feiji_ziji_zidan_paopao_queren=false;
                feiji_ziji_zidan_paopao_shu=0;
                feiji_ziji_zidan_paopao_geshu++;
            }
        }
    }

    void next_feiji_ziji_zidan_paopao_meifang(){
        if(feiji_ziji_zidan_paopao_anzhu&&feiji_ziji_zidan_paopao_anzhuweizhi!=-1){
            feiji_ziji_zidan_paopao_shuzu[feiji_ziji_zidan_paopao_anzhuweizhi][0]=feiji_ziji_x+4;
            feiji_ziji_zidan_paopao_shuzu[feiji_ziji_zidan_paopao_anzhuweizhi][1]=feiji_ziji_y-23;
        }
    }

    void paint_feiji_ziji_zidan_paopao(Graphics g){
        for(int i=0;i<feiji_ziji_zidan_paopao_shuzu.length;i++){
            if(feiji_ziji_zidan_paopao_shuzu[i][5]!=0){
                g.setClip(feiji_ziji_zidan_paopao_shuzu[i][0],feiji_ziji_zidan_paopao_shuzu[i][1],23,23);
                g.setColor(0x00ffff);
                g.fillArc(feiji_ziji_zidan_paopao_shuzu[i][0],feiji_ziji_zidan_paopao_shuzu[i][1],23,23,0,360);
            }
        }
    }

//    void next_map_zhangai_fangzhi(){
//        map_zhangai[0][0]=50;
//        map_zhangai[0][1]=50;
//        map_zhangai[0][2]=100;
//    }

    void next_npc_feiji_shuaxin(){//npc飞机刷新
        int npc_feiji_jianju;
//0是x坐标,1是y坐标,2是x方向速度,3是y方向速度,4是hp,5是种类(显示哪个图),6是动画桢(样子,飞行图片),7是状态(飞行方向),8是批次,9是记数器,10是宽,11是高
        if(jishuqi_time==10){//上面下来4个,第1批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=10+npc_feiji_jianju*i;
                        npc_feiji_shuzu[i][1]=-50;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=10;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_down;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_down;
                        npc_feiji_shuzu[i][8]=1;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==50){//左边右来4个,第2批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=-20-npc_feiji_jianju*m;
                        npc_feiji_shuzu[i][1]=40;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=10;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_right;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_right;
                        npc_feiji_shuzu[i][8]=2;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==100){//右边左来4个,第3批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=screen_W+20+npc_feiji_jianju*m;
                        npc_feiji_shuzu[i][1]=70;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=10;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_left;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_left;
                        npc_feiji_shuzu[i][8]=3;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==150){//上边竖着下来4个,到150向右飞,第4批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=30;
                        npc_feiji_shuzu[i][1]=-20-npc_feiji_jianju*m;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=10;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_down;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_down;
                        npc_feiji_shuzu[i][8]=4;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==200){//右边竖着横来4个,到50向右飞,第5批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=200;
                        npc_feiji_shuzu[i][1]=20+npc_feiji_jianju*m;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=10;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_left;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_left;
                        npc_feiji_shuzu[i][8]=5;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==250){//右边竖着横来4个,到100向右飞,第6批
            for(int i=0;i<npc_feiji_shuzu.length;i++){
                if(npc_feiji_shuzu[i][5]==0){
                    npc_feiji_shuzu[i][0]=100;
                    npc_feiji_shuzu[i][1]=-50;
                    npc_feiji_shuzu[i][2]=2;
                    npc_feiji_shuzu[i][3]=2;
                    npc_feiji_shuzu[i][4]=50;
                    npc_feiji_shuzu[i][5]=4;
                    npc_feiji_shuzu[i][6]=npc_feiji_state_down;
                    npc_feiji_shuzu[i][7]=npc_feiji_state_down;
                    npc_feiji_shuzu[i][8]=6;
                    npc_feiji_shuzu[i][9]=0;
                    npc_feiji_shuzu[i][10]=59;
                    npc_feiji_shuzu[i][11]=59;
                    break;
                }
            }
        }
        if(jishuqi_time==300){//左边横着飞来4个,到100向上飞,第7批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=-50-m*npc_feiji_jianju;
                        npc_feiji_shuzu[i][1]=150;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=20;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_right;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_right;
                        npc_feiji_shuzu[i][8]=7;
                        npc_feiji_shuzu[i][9]=jishuqi_time;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==350){//左上边斜着飞来4个,第8批
            for(int m=0;m<4;m++){
                npc_feiji_jianju=40;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=200+m*npc_feiji_jianju;
                        npc_feiji_shuzu[i][1]=-50-m*npc_feiji_jianju;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=20;
                        npc_feiji_shuzu[i][5]=1;
                        npc_feiji_shuzu[i][6]=npc_feiji_state_downleft;
                        npc_feiji_shuzu[i][7]=npc_feiji_state_downleft;
                        npc_feiji_shuzu[i][8]=8;
                        npc_feiji_shuzu[i][9]=0;
                        npc_feiji_shuzu[i][10]=32;
                        npc_feiji_shuzu[i][11]=32;
                        break;
                    }
                }
            }
        }
        if(jishuqi_time==400){//上边下来2个,第9批
            for(int m=0;m<2;m++){
                npc_feiji_jianju=100;
                for(int i=0;i<npc_feiji_shuzu.length;i++){
                    if(npc_feiji_shuzu[i][5]==0){
                        npc_feiji_shuzu[i][0]=40+m*npc_feiji_jianju;
                        npc_feiji_shuzu[i][1]=-50;
                        npc_feiji_shuzu[i][2]=2;
                        npc_feiji_shuzu[i][3]=2;
                        npc_feiji_shuzu[i][4]=20;

⌨️ 快捷键说明

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