📄 wxjgamecanvas.java
字号:
DJZD2[1].y=diren[0].y+15;
DJZD2[2].x=diren[0].x+15;
DJZD2[2].y=diren[0].y;
DJZD2[3].x=diren[0].x+45;
DJZD2[3].y=diren[0].y;
DJZD2[i].useBz=true;
break;
}
}
}
for(int i=4;i<7;i++)
{
if(DJZD2[i].useBz==false)
{
if(djcz2==true)
{
/*中等飞机子弹初始位置*/
DJZD2[4].x=diren[1].x+30; //飞机 2 的三个子弹
DJZD2[4].y=diren[1].y+15;
DJZD2[5].x=diren[1].x+15;
DJZD2[5].y=diren[1].y;
DJZD2[6].x=diren[1].x+45;
DJZD2[6].y=diren[1].y;
DJZD2[i].useBz=true;
break;
}
}
}
for(int i=7;i<10;i++)
{
if(DJZD2[i].useBz==false)
{
if(djcz3==true)
{
/*中等飞机子弹初始位置*/
DJZD2[7].x=diren[2].x+30; //飞机 3 的三个子弹
DJZD2[7].y=diren[2].y+15;
DJZD2[8].x=diren[2].x+15;
DJZD2[8].y=diren[2].y;
DJZD2[9].x=diren[2].x+45;
DJZD2[9].y=diren[2].y;
DJZD2[i].useBz=true;
break;
}
}
}
for(int i=10;i<13;i++)
{
if(DJZD2[i].useBz==false)
{
if(djcz4==true)
{
/*中等飞机子弹初始位置*/
DJZD2[10].x=diren[3].x+30; //飞机 4 的三个子弹
DJZD2[10].y=diren[3].y+15;
DJZD2[11].x=diren[3].x+15;
DJZD2[11].y=diren[3].y;
DJZD2[12].x=diren[3].x+45;
DJZD2[12].y=diren[3].y;
DJZD2[i].useBz=true;
break;
}
}
}
}
void zhuangbi_BOOS() //敌人BOOS发射子弹方法
{
if(boss==true)
{
for(int i=1;i<11;i++)
{
if(DJZD3[i].useBz==false)
{
/*敌人BOOS子弹初始位置*/
DJZD3[1].x=BOSS.x+45;//向下子弹
DJZD3[1].y=BOSS.y+50;
DJZD3[2].x=BOSS.x+55;
DJZD3[2].y=BOSS.y+50;
DJZD3[3].x=BOSS.x+30;//向左子弹
DJZD3[3].y=BOSS.y+50;
DJZD3[4].x=BOSS.x+35;
DJZD3[4].y=BOSS.y+50;
DJZD3[5].x=BOSS.x+40;
DJZD3[5].y=BOSS.y+50;
DJZD3[6].x=BOSS.x+45;
DJZD3[6].y=BOSS.y+50;
DJZD3[7].x=BOSS.x+55;//向右子弹
DJZD3[7].y=BOSS.y+50;
DJZD3[8].x=BOSS.x+60;
DJZD3[8].y=BOSS.y+50;
DJZD3[9].x=BOSS.x+65;
DJZD3[9].y=BOSS.y+50;
DJZD3[10].x=BOSS.x+70;
DJZD3[10].y=BOSS.y+50;
DJZD3[i].useBz=true;
break;
}
}
}
}
void XuanZe_BOOS_DD() //选择敌机BOOS导弹方法
{
if(boss==true)
{
for(int i=0;i<4;i++)
{
if(BOSS_DD[i].useBz==false)
{
/*BOOS导弹子弹初始位置*/
BOSS_DD[0].x=BOSS.x+95;// 四个导弹
BOSS_DD[0].y=BOSS.y+10;
BOSS_DD[1].x=BOSS.x+60;
BOSS_DD[1].y=BOSS.y+20;
BOSS_DD[2].x=BOSS.x+40;
BOSS_DD[2].y=BOSS.y+20;
BOSS_DD[3].x=BOSS.x+5;
BOSS_DD[3].y=BOSS.y+10;
BOSS_DD[i].useBz=true;
break;
}
}
}
}
private void bj_move()//背景移动方法
{
g.drawImage(beijing,0,bj_y1,0); //背景图片1
g.drawImage(beijing1,0,bj_y2,0); //背景图片2
bj_y1+=5;
bj_y2+=5; //背景Y坐标变量
if(bj_y1==0)//图片之间的变换
{
bj_y1=-310;
bj_y2=0;
}
}
//产生主角对象方法 和飞机生命共用
private WXJ_GameSprite createPeople() throws IOException
{
Image image = Image.createImage("/6.png");
return new WXJ_GameSprite(image, 46, 39);
}
//主角飞机生命的标志
private WXJ_GameSprite createPeople_hp() throws IOException
{
Image image = Image.createImage("/45.png");
return new WXJ_GameSprite(image, 16, 11);
}
// 产生飞机子弹对象方法
private WXJ_GameSprite createFjzd() throws IOException
{
Image image = Image.createImage("/zidan1.png");
return new WXJ_GameSprite(image, 10, 20);
}
//BOSS产生方法
private WXJ_GameSprite createBOSS() throws IOException
{
Image image = Image.createImage("/014.png");
return new WXJ_GameSprite(image, 120, 90);
}
//产生BOSS导弹对象方法
private WXJ_GameSprite createBOSS_DD() throws IOException
{
Image image = Image.createImage("/DAODAN.png");
return new WXJ_GameSprite(image, 12, 50);
}
//产生敌人战斗机方法
private WXJ_GameSprite createZanJi() throws IOException
{
Image image = Image.createImage("/flywd.png");
return new WXJ_GameSprite(image, 60, 30);
}
//产生敌机对象方法
private WXJ_GameSprite createDiJi() throws IOException
{
Image image = Image.createImage("/enemy00.png");
return new WXJ_GameSprite(image, 15, 16);
}
//产生敌机子弹对象方法
private WXJ_GameSprite createDJZD() throws IOException
{
Image image = Image.createImage("/DJZD.png");
return new WXJ_GameSprite(image, 5, 8);
}
//产生火光对象方法
private WXJ_GameSprite createHuoGuang() throws IOException
{
Image image = Image.createImage("/27.png");
return new WXJ_GameSprite(image, 38, 38);
}
//产生飞机炸弹标志对象方法
private WXJ_GameSprite createfjbx() throws IOException
{
Image image = Image.createImage("/46.png");
return new WXJ_GameSprite(image, 19, 18);
}
//产生游戏界面边框对象
private WXJ_GameSprite createjiemian() throws IOException
{
Image image = Image.createImage("/35.png");
return new WXJ_GameSprite(image, 240, 30);
}
//产生返回图片对象
private WXJ_GameSprite createBACK() throws IOException
{
Image image = Image.createImage("/10.png");
return new WXJ_GameSprite(image, 58, 20);
}
//产生道具1的方法
private WXJ_GameSprite createfjdj() throws IOException
{
Image image = Image.createImage("/enemyzigzag.png");
return new WXJ_GameSprite(image, 16, 16);
}
//产生道具1的方法
private WXJ_GameSprite createfjdj1() throws IOException
{
Image image = Image.createImage("/enemyzigzagf.png");
return new WXJ_GameSprite(image, 16, 16);
}
//产生炸弹对象方法
private WXJ_GameSprite createZhaDan() throws IOException
{
Image image = Image.createImage("/4.png");
return new WXJ_GameSprite(image, 180, 109);
}
void siwang()//死亡以后调用
{
action=5; //播放失败画面
setHide(); //隐藏游戏元素
JiXubz=false;
pPeople.setVisible(false);
pPeople.setXY(100,310);
wofeiji_HP[2].setVisible(false);
}
//(敌人小飞机子弹与我机)
private boolean pengZhuang_001()
{
for(int i=0;i<DJZD.length;i++)
{
if (pPeople.collidesWith(DJZD[i], true))//象素碰撞
{
pPeople.hp--;
kaishi=0;
cs_zd=0;
DJZD[i].setXY(-100,-100);
DJZD[i].setPosition(-100,-100);
if(pPeople.hp==0)
{
siwang();
}
return true;
}
}
return false;
}
//(敌人中型飞机子弹与我机)
private boolean pengZhuang_002()
{
for(int i=0;i<DJZD2.length;i++)
{
if (pPeople.collidesWith(DJZD2[i], true))//象素碰撞
{
pPeople.hp--;
kaishi=0;
cs_zd=0;
DJZD2[i].setXY(-150,-20);
DJZD2[i].setPosition(-150,-150);
if(pPeople.hp==0)
{
siwang();
}
return true;
}
}
return false;
}
//(敌人BOOS飞机子弹与我机)
private boolean pengZhuang_003()
{
for(int i=0;i<DJZD3.length;i++)
{
if (pPeople.collidesWith(DJZD3[i], true))//象素碰撞
{
pPeople.hp--;
kaishi=0;
cs_zd=0;
DJZD3[i].setXY(-200,-200);
DJZD3[i].setPosition(-200,-200);
if(pPeople.hp==0)
{
siwang();
}
return true;
}
}
return false;
}
//(敌人BOOS导弹与我机)
private boolean pengZhuang_004()
{
for(int i=0;i< BOSS_DD.length;i++)
{
if (pPeople.collidesWith( BOSS_DD[i], true))//象素碰撞
{
pPeople.hp--;
kaishi=0;
cs_zd=0;
BOSS_DD[i].setXY(-100,-100);
BOSS_DD[i].setPosition(-100,-100);
if(pPeople.hp==0) //主角HP等于0
{
siwang();
}
return true;
}
}
return false;
}
byte djhp=0;
//(我机子弹1与敌人小飞机)
private boolean pengZhuang_005()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<fjzd.length;j++)
{
if (xiaobidiji[i].collidesWith(fjzd[j], true))//象素碰撞
{
df_jsq++;
djhp=(byte)i; //计子弹和哪个飞机碰撞的计数器
fjzd[j].setXY(-20,-20);
fjzd[j].setPosition(-20,-20);
djjsq--;
xiaobidiji[i].setPosition(-400,-400);
xiaobidiji[i].useBz=false;
return true;
}
}
}
return false;
}
byte djhp4=0;
//(我机子弹2与敌人小飞机)
private boolean pengZhuang_006()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<fjzd1.length;j++)
{
if (xiaobidiji[i].collidesWith(fjzd1[j], true))//象
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -