📄 qt_canvas.java
字号:
if(npc_cla_state[2] == 1)
draw(g,img_NPC[2],NPC_state[2],i_num%2 + 2,npcX[2],npcY[2],NPC2_W,NPC2_H,20);
}
//npc3
if(npc_paint[3])
{
if(is_npcB[3])
draw(g,img_Ammo[6],0,0,npcBX[2],npcBY[2],NPC_AMMO0_W,NPC_AMMO0_W,20);
if(npc_cla_state[3] == 0)
{
if(NPC_dead[3])
draw(g,img_NPC[3],1,i_num%2,npcX[3],npcY[3],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[3],NPC_state[3],i_num%2,npcX[3],npcY[3],NPC3_W,NPC3_H,20);
}
if(npc_cla_state[3] == 1)
{
if(NPC_dead[3])
draw(g,img_NPC[3],1,i_num%2 + 2,npcX[3],npcY[3],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[3],NPC_state[3],i_num%2 + 2,npcX[3],npcY[3],NPC3_W,NPC3_H,20);
}
}
else
{
if(is_npcB[3])
draw(g,img_Ammo[6],0,0,npcBX[2],npcBY[2],NPC_AMMO0_W,NPC_AMMO0_W,20);
}
//npc4
if(npc_paint[4])
{
if(is_npcB[4])
draw(g,img_Ammo[5],0,0,npcBX[1],npcBY[1],NPC_AMMO1_W,NPC_AMMO1_W,20);
if(npc_cla_state[4] == 0)
{
if(NPC_dead[4])
draw(g,img_NPC[4],2,i_num%2,npcX[4],npcY[4],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[4],NPC_state[4],i_num%4,npcX[4],npcY[4],NPC3_W,NPC3_H,20);
}
if(npc_cla_state[4] == 1)
{
if(NPC_dead[4])
draw(g,img_NPC[4],2,i_num%2 + 2,npcX[4],npcY[4],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[4],NPC_state[4],i_num%4,npcX[4],npcY[4],NPC3_W,NPC3_H,20);
}
}
else
{
if(is_npcB[4])
draw(g,img_Ammo[5],0,0,npcBX[1],npcBY[1],NPC_AMMO1_W,NPC_AMMO1_W,20);
}
//npc5
if(npc_paint[5])
{
if(is_npcB[5])
{
if(npc_cla_state[5] == 0)
draw(g,img_NPC[6],0,i_num%3,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
if(npc_cla_state[5] == 1)
draw(g,img_NPC[6],1,i_num%3,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
}
else
{
if(npc_cla_state[5] == 0)
{
if(NPC_dead[5])
draw(g,img_NPC[5],2,i_num%2,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[5],0,i_num%4,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
}
if(npc_cla_state[5] == 1)
{
if(NPC_dead[5])
draw(g,img_NPC[5],2,i_num%2 + 2,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
else
draw(g,img_NPC[5],1,i_num%4,npcX[5],npcY[5],NPC3_W,NPC3_H,20);
}
}
}
}
//TODO 画BOSS
public void drawboss(Graphics g)
{
switch(scene)
{
case 1:
if(boss_dead)
{
if(is_bossL)
{
if(i_num%4 == 0)
{
draw(g,img_BOSS,3,0,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 1)
{
draw(g,img_BOSS,3,1,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 2)
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(is_bossR)
{
if(i_num%4 == 0)
{
draw(g,img_BOSS,3,2,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 1)
{
draw(g,img_BOSS,3,3,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 2)
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS0_W)>>1),i_bossY - ((BOSS3_H - BOSS0_H)>>1),
BOSS3_W,BOSS3_H,20);
}
}
else
{
if(is_bossBP)
{
draw(g,img_Ammo[6],0,0,i_bossBX,i_bossBY,NPC_AMMO0_W,NPC_AMMO0_W,20);
if(is_bossB)
{
if(is_bossL)
draw(g,img_BOSS,2,i_num%2,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
if(is_bossR)
draw(g,img_BOSS,2,i_num%2 + 2,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
}
else
{
if(is_bossL)
draw(g,img_BOSS,0,i_num%4,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
if(is_bossR)
draw(g,img_BOSS,1,i_num%4,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
}
}
else
{
if(is_bossL)
draw(g,img_BOSS,0,i_num%4,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
if(is_bossR)
draw(g,img_BOSS,1,i_num%4,i_bossX,i_bossY,BOSS0_W,BOSS0_H,20);
}
}
break;
case 2:
if(boss_dead)
{
if(is_bossL)
{
if(i_num%4 == 0)
{
draw(g,img_BOSS,2,0,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 1)
{
draw(g,img_BOSS,2,1,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 2)
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(is_bossR)
{
if(i_num%4 == 0)
{
draw(g,img_BOSS,2,2,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 1)
{
draw(g,img_BOSS,2,3,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
if(i_num%4 == 2)
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS1_W)>>1),i_bossY - ((BOSS3_H - BOSS1_H)>>1),
BOSS3_W,BOSS3_H,20);
}
}
else
{
if(is_bossB)
{
if(is_bossL)
draw(g,img_BOSS,2,0,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
if(is_bossR)
draw(g,img_BOSS,2,2,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
}
else
{
if(is_bossBP)
{
draw(g,img_Ammo[4],0,0,i_bossBX,i_bossBY,NPC_AMMO0_W,NPC_AMMO0_W,20);
}
if(is_bossL)
draw(g,img_BOSS,0,i_num%4,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
if(is_bossR)
draw(g,img_BOSS,1,i_num%4,i_bossX,i_bossY,BOSS1_W,BOSS1_H,20);
}
}
break;
case 3:
if(boss_dead)
{
if(is_bossL)
draw(g,img_BOSS,3,(i_num%8 >> 2),i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
if(is_bossR)
draw(g,img_BOSS,3,(i_num%8 >> 2),i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
}
else
{
if(is_bossB)
{
if(i_num%10 < 7)
{
if(is_bossL)
{
if(i_num%4 == 0 || i_num%4 == 1)
draw(g,img_BOSS,0,0,i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
else if(i_num%4 == 2 || i_num%4 == 3)
draw(g,img_BOSS,2,0,i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
}
if(is_bossR)
draw(g,img_BOSS,(i_num%4 >> 1) + 1,1,i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
if(i_num%10 == 6)
{
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY + (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
draw(g,img_BOSS0,0,0,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY - (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
}
}
else
{
if(i_num%10 == 7)
{
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY + (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
draw(g,img_BOSS0,0,1,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY - (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
}
else
{
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY + (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
draw(g,img_BOSS0,0,2,
i_bossX - ((BOSS3_W - BOSS2_W)>>1),i_bossY - (BOSS3_W - BOSS2_W),BOSS3_W,BOSS3_H,20);
}
}
}
else
{
if(is_bossBP)
draw(g,img_Ammo[5],0,0,i_bossBX,i_bossBY,NPC_AMMO1_W,NPC_AMMO1_W,20);
if(is_bossL)
draw(g,img_BOSS,(i_num%8 >> 2),0,i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
if(is_bossR)
draw(g,img_BOSS,(i_num%8 >> 2),1,i_bossX,i_bossY,BOSS2_W,BOSS2_H,20);
}
}
break;
}
}
//TODO 画道具
public void drawitem(Graphics g)
{
if(is_item[0])
draw(g,img_Item[0],0,0,
i_itemX[0],i_itemY[0],ITEM0_W,ITEM0_W,20);
if(is_item[1])
draw(g,img_Item[2],0,0,
i_itemX[1] + ((ITEM0_W - ITEM1_W)>>1),i_itemY[1] + (ITEM0_W - ITEM1_W),ITEM1_W,ITEM1_W,20);
if(is_item[2])
draw(g,img_Item[0],0,0,
i_itemX[2],i_itemY[2],ITEM0_W,ITEM0_W,20);
if(is_item[3])
draw(g,img_Item[3],0,0,
i_itemX[3] + ((ITEM0_W - ITEM1_W)>>1),i_itemY[3] + (ITEM0_W - ITEM1_W),ITEM1_W,ITEM1_W,20);
if(is_item[4])
draw(g,img_Item[1],0,0,
i_itemX[4],i_itemY[4],ITEM0_W,ITEM0_W,20);
if(is_item[5])
draw(g,img_Item[0],0,0,
i_itemX[5],i_itemY[5],ITEM0_W,ITEM0_W,20);
if(is_item[6])
draw(g,img_Item[2],0,0,
i_itemX[6] + ((ITEM0_W - ITEM1_W)>>1),i_itemY[6] + (ITEM0_W - ITEM1_W),ITEM1_W,ITEM1_W,20);
if(is_item[7])
draw(g,img_Item[4],0,0,
i_itemX[7] + ((ITEM0_W - ITEM1_W)>>1),i_itemY[7] + (ITEM0_W - ITEM1_W),ITEM1_W,ITEM1_W,20);
if(is_item[8])
draw(g,img_Item[1],0,0,
i_itemX[8],i_itemY[8],ITEM0_W,ITEM0_W,20);
if(is_item[9])
draw(g,img_Item[0],0,0,
i_itemX[9],i_itemY[9],ITEM0_W,ITEM0_W,20);
}
public void draw(Graphics g,Image img,int state,int num,int x,int y,int w,int h,int dotted)
{
g.setClip(x,y,w,h);
g.drawImage(img,x - num * w,y - state * h,dotted);
}
//****运算方法****
public void operators()
{
operTimeS = System.currentTimeMillis();
if(zong0 == GAMERUN)
{
--mapX;
operatorsback();
if(mapX < -(G_WW - 1))
{
mapX = 0;
++go_run;
}
if(!is_win && !is_lost)
{
operatorsboss();
operatorsnpc();
operatorsplayer();
operatorsitem();
pengplayer();
pengNPC();
pengboss();
pengitem();
}
}
operTimeE = System.currentTimeMillis();
}
//背景修饰相关计算
public void operatorsback()
{
for(i = 0;i < 8;++i)
{
switch(scene)
{
case 1:
--map11X[i];
if(map11X[i] <= -MAP0_W)
{
if(i == 0)
{
if(!is_map11[0] && go_run%2 == 0)
{
is_map11[0] = true;
map11X[0] = G_WW + MAPITEMX0;
}
else
is_map11[0] = false;
}
if(i == 1)
{
if(!is_map11[1] && go_run%3 == 1)
{
is_map11[1] = true;
map11X[1] = G_WW + MAPITEMX1;
}
else
is_map11[1] = false;
}
if(i == 2)
{
if(!is_map11[2] && go_run%4 == 2)
{
is_map11[2] = true;
map11X[2] = G_WW + MAPITEMX2;
}
else
is_map11[2] = false;
}
if(i == 3)
{
if(!is_map11[3] && go_run%5 == 0)
{
is_map11[3] = true;
map11X[3] = G_WW + MAPITEMX7;
}
else
is_map11[3] = false;
}
if(i == 4)
{
if(!is_map11[4] && go_run%6 == 1)
{
is_map11[4] = true;
map11X[4] = G_WW + MAPITEMX9;
}
else
is_map11[4] = false;
}
if(i == 5)
{
if(!is_map11[5] && go_run%7 == 2)
{
is_map11[5] = true;
map11X[5] = G_WW + MAPITEMX4;
}
else
is_map11[5] = false;
}
if(i == 6)
{
if(!is_map11[6] && go_run%8 == 0)
{
is_map11[6] = true;
map11X[6] = G_WW + MAPITEMX10;
}
else
is_map11[6] = false;
}
if(i == 7)
{
if(!is_map11[7] && go_run%9 == 1)
{
is_map11[7] = true;
map11X[7] = G_WW + MAPITEMX11;
}
else
is_map11[7] = false;
}
}
break;
case 2:
--map21X[i];
if(map21X[i] <= -21)
{
if(i == 0)
{
if(!is_map21[0] && go_run%2 == 0)
{
is_map21[0] = true;
map21X[0] = G_WW + MAPITEMX0;
}
else
is_map21[0] = false;
}
if(i == 1)
{
if(!is_map21[1] && go_run%3 == 0)
{
is_map21[1] = true;
map21X[1] = G_WW + MAPITEMX0;
}
else
is_map21[1] = false;
}
if(i == 2)
{
if(!is_map21[2] && go_run%4 == 0)
{
is_map21[2] = true;
map21X[2] = G_WW + MAPITEMX0;
}
else
is_map21[2] = false;
}
if(i == 3)
{
if(!is_map21[3] && go_run%5 == 0)
{
is_map21[3] = true;
map21X[3] = G_WW + MAPITEMX8;
}
else
is_map21[3] = false;
}
if(i == 4)
{
if(!is_map21[4] && go_run%6 == 0)
{
is_map21[4] = true;
map21X[4] = G_WW + MAPITEMX0;
}
else
is_map21[4] = false;
}
if(i == 5)
{
if(!is_map21[5] && go_run%7 == 0)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -