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

📄 qt_canvas.java

📁 自己看吧
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			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 + -