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

📄 gamecanvas.java

📁 RPG类游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			BOSS_Yingzi_Hight = 8;
		break;
		
		case 2:  //向右移动
			Is_BOSS_Left_Or_Right = false;
			if((Player_x-BOSS_x) > 4)
			{
				BOSS_Act = 1;
				BOSS_x += BOSS_Speed;
				BOSS_Random = Math.abs(R.nextInt()%100);
				if(BOSS_Random < 95)
				{
					BOSS_Mode = 2;
				}
				else
				{
					BOSS_Mode = 3;
					Now_BOSS_y = BOSS_y;
				}
			}
			else 
			{
				if(Math.abs((Player_y+48)-(BOSS_y+33)) < 6)
				{
					BOSS_Mode = 4;
				}
			}
			if((Player_y+48)-(BOSS_y+33) > 5)
			{
				BOSS_y += BOSS_Speed;
			}
			if((Player_y+48)-(BOSS_y+33) < -5)
			{
				BOSS_y -= BOSS_Speed;
			}
			if(BOSS_Nowframe < BOSS_Action[BOSS_Act].length-1)
	    	{
				BOSS_Nowframe++;
			}
			else
			{
				BOSS_Nowframe=0;
			}
			BOSS_Frames = BOSS_Action[BOSS_Act][BOSS_Nowframe];
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
		break;
		
		case 3:  //悬浮+俯冲+冲击
			if(BOSS_y > Now_BOSS_y-66)
			{
				BOSS_y -= 22;
			}
			else
			{
				BOSS_Mode = 6;
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[3][0];
		break;
		
		case 4:  //普通攻击
			BOSS_Act = 4;
			if(BOSS_Nowframe > 14)
			{
				if(BOSSAct_Nowframe < BOSSAct_Action[BOSSAct_Act].length-1)
		    	{
					BOSSAct_Nowframe++;
				}
				else
				{
					BOSSAct_Nowframe=0;
				}
				BOSSAct_Frames = BOSSAct_Action[BOSSAct_Act][BOSSAct_Nowframe];
				if((BOSSAct_Nowframe+1)%4 == 0)
				{
					if(Is_BOSS_Left_Or_Right)
					{
						if(BOSS_x-Player_x < 58 && BOSS_x-Player_x > 30 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6)
						{
							Player_Blood -= 4;
							Player_x -= 2;
							Player_Act = 0;
							Player_Direction = 0;
							Now_Direction = 0;
							Player_Nowframe = 0;
						}
					}
					else
					{
						if(Player_x-BOSS_x < 16 && Player_x-BOSS_x > -12 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6)
						{
							Player_Blood -= 4;
							Player_x += 2;
							Player_Act = 0;
							Player_Direction = 0;
							Now_Direction = 0;
							Player_Nowframe = 0;
						}
					}
				}
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			if(BOSS_Nowframe < BOSS_Action[BOSS_Act].length-1)
	    	{
				BOSS_Nowframe++;
			}
			else
			{
				BOSS_Nowframe=0;
				BOSS_Random = Math.abs(R.nextInt()%100);
				if(BOSS_Random < 95)
				{
					if((BOSS_x-Player_x) < 12)
					{
						BOSS_Mode = 2;
					}
					else
					{
						BOSS_Mode = 1;
					}
				}
				else
				{
					BOSS_Mode = 3;
					Now_BOSS_y = BOSS_y;
				}
			}
			BOSS_Frames = BOSS_Action[BOSS_Act][BOSS_Nowframe];
		break;
		
		case 5:  //被攻击
			Beigongji_Time++;
			if(Beigongji_Time > 5)
			{
				BOSS_Mode = 0;
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[5][0];
		break;
		
		case 6:
			if(BOSS_y < Now_BOSS_y)
			{
				BOSS_y += 33;
				if(Is_BOSS_Left_Or_Right)
				{
					BOSS_x -= 6;
				}
				else
				{
					BOSS_x += 6;
				}
			}
			else
			{
				BOSS_Mode = 7;
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[3][0];
		break;
		
		case 7:
			if(Is_BOSS_Left_Or_Right)
			{
				if(BOSS_x > 25)
				{
					BOSS_x -= 18;
					if((BOSS_x-Player_x) > 8 && (BOSS_x-Player_x) < 66 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && !Is_Shifoudazhong)
					{
						Player_Blood -= 16;
						Player_x -= 7;
						Is_Shifoudazhong = true;
					}
				}
				else
				{
					Is_Shifoudazhong = false;
					BOSS_Nowframe=0;
					BOSS_Random = Math.abs(R.nextInt()%100);
					if(BOSS_Random < 95)
					{
						if((BOSS_x-Player_x) < 12)
						{
							BOSS_Mode = 2;
						}
						else
						{
							BOSS_Mode = 1;
						}
					}
					else
					{
						BOSS_Mode = 3;
						Now_BOSS_y = BOSS_y;
					}
				}
			}
			else
			{
				if(BOSS_x < 130)
				{
					BOSS_x += 18;
					if((Player_x-BOSS_x) < 14 && (Player_x-BOSS_x) > -44 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && !Is_Shifoudazhong)
					{
						Player_Blood -= 16;
						Player_x += 7;
						Is_Shifoudazhong = true;
					}
				}
				else
				{
					Is_Shifoudazhong = false;
					BOSS_Nowframe=0;
					Zhongqiang_Num = 0;
					BOSS_Random = Math.abs(R.nextInt()%100);
					if(BOSS_Random < 95)
					{
						if((BOSS_x-Player_x) < 12)
						{
							BOSS_Mode = 2;
						}
						else
						{
							BOSS_Mode = 1;
						}
					}
					else
					{
						BOSS_Mode = 3;
						Now_BOSS_y = BOSS_y;
					}
				}
			}
			BOSS_Yingzi_x = BOSS_x + 4;
			BOSS_Yingzi_y = BOSS_y + 26;
			BOSS_Yingzi_Width = 15;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[7][0];
		break;
		
		case 8:
			if(Is_BOSS_Left_Or_Right)
			{
				if(BOSS_x < Now_BOSS_x+42)
				{
					BOSS_x += 4;
				}
				else
				{
					BOSS_Mode = 7;
				}
			}
			else
			{
				if(BOSS_x > Now_BOSS_x-42)
				{
					BOSS_x -= 4;
				}
				else
				{
					BOSS_Mode = 7;
				}
			}
			BOSS_Yingzi_x = BOSS_x + 4;
			BOSS_Yingzi_y = BOSS_y + 26;
			BOSS_Yingzi_Width = 15;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[5][0];
		break;
		
		case 10:
			if(BOSS_y > Now_BOSS_y-66)
			{
				BOSS_y -= 1;
			}
			else
			{
				BOSS_Mode = 11;
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[3][0];
		break;
		
		case 11:
			BOSS_y_Time++;
			Fly_Time++;
			if(Fly_Time > 100)
			{
				if(Player_Act != 5)
				{
					BOSS_Mode = 13;
				}
			}
			if(BOSS_y_Time > 19)
			{
				BOSS_y_Time = 0;
			}
			if(BOSS_y_Time < 10)
			{
				if(BOSS_y_Time % 2 == 0)
				{
					BOSS_y++;
				}
			}
			else
			{
				if(BOSS_y_Time % 2 == 0)
				{
					BOSS_y--;
				}
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[3][0];
		break;
		
		case 12:
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[3][0];
		break;
		
		case 13:
			if(BOSS_y < Now_BOSS_y)
			{
				BOSS_y++;
			}
			else
			{
				BOSS_Mode = 0;
				Is_Bianshen = false;
			}
			BOSS_Yingzi_x = BOSS_x + 5;
			BOSS_Yingzi_y = Now_BOSS_y + 26;
			BOSS_Yingzi_Width = 13;
			BOSS_Yingzi_Hight = 8;
			BOSS_Frames = BOSS_Action[9][0];
		break;
		
		case 14:
		break;
		
		case 88:  //死亡
			if(BOSSSiwang_Nowframe < BOSSSiwang_Action[0].length-1)
	    	{
				BOSSSiwang_Nowframe++;
				if(BOSSSiwang_Nowframe < 16)
				{
					BOSS_Yingzi_x = BOSS_x + 3;
					BOSS_Yingzi_y = BOSS_y + 26;
					BOSS_Yingzi_Width = 9;
					BOSS_Yingzi_Hight = 8;
				}
				else
				{
					BOSS_Yingzi_x = BOSS_x;
					BOSS_Yingzi_y = BOSS_y + 26;
					BOSS_Yingzi_Width = 3;
					BOSS_Yingzi_Hight = 8;
				}
			}
			else
			{
				Is_BOSSSiwang = true;
			}
			BOSSSiwang_Frames = BOSSSiwang_Action[0][BOSSSiwang_Nowframe];
		break;		
		}
	}
	
//打BOSS时的主角状态
	protected void PlayerStatus1()
	{
		if(Player_Act != 5)
		{			
			switch(Player_Direction)
			{		
			case 49:  //上
				Player_Direction = -1;
			break;
			
			case 55:  //下
				Player_Direction = -2;
			break;
			
			case 52:  //左
				Player_Direction = -3;
			break;
			
			case 53:  //右
				Player_Direction = -4;
			break;
			
			case 54:  //攻击
				Player_Direction = -5;
			break;
			}
			if(Key_Time > 1 && Player_Direction == -5)
			{
				Player_Act = 0;
				Player_Direction = 0;
			}
			switch(Player_Direction)
			{
			case -1:  //上
				Gongji_Num = 0;
				Player_ZTime = 0;
				Zhongqiang_Num = 0;
				if(Now_Direction == -1 && Run_Time < 4)
				{
					Is_Walk_Or_Run = false;
				}
				if(Is_Walk_Or_Run)
				{
					Player_Act = 3;
				}
				else
				{
					Player_Act = 1;
				}
				if(Player_y > 95)
				{
					Player_y -= Player_Speed;
				}
				if(Player_Nowframe<Player_Action[Player_Act].length-1)
		    	{
					Player_Nowframe++;
				}
				else
				{
					Player_Nowframe=0;			    
				}
		    	Player_Frames = Player_Action[Player_Act][Player_Nowframe];	    	
			break;
			
			case -2:  //下
				Gongji_Num = 0;
				Player_ZTime = 0;
				Zhongqiang_Num = 0;
				if(Now_Direction == -2 && Run_Time < 4)
				{
					Is_Walk_Or_Run = false;
				}
				if(Is_Walk_Or_Run)
				{
					Player_Act = 3;
				}
				else
				{
					Player_Act = 1;
				}
				if(Player_y < 128)
				{
					Player_y += Player_Speed;
				}
				if(Player_Nowframe<Player_Action[Player_Act].length-1)
		    	{
			    	Player_Nowframe++;
				}
				else
				{
					Player_Nowframe=0;			    
				}
		    	Player_Frames = Player_Action[Player_Act][Player_Nowframe];
			break;
			
			case -3: //左
				Gongji_Num = 0;
				Player_ZTime = 0;
				Zhongqiang_Num = 0;
				Is_Left_Or_Right = true;
				if(Now_Direction == -3 && Run_Time < 4)
				{
					Is_Walk_Or_Run = false;
				}
				if(Is_Walk_Or_Run)
				{
					Player_Act = 3;
				}
				else
				{
					Player_Act = 1;
				}
				if(BOSSBK_x < 0)
				{
					if(Player_x > 16)
					{
						if(Player_x+22 > BOSS_x+21)
						{
							Player_x -= Player_Speed;
						}
						else if(Player_x+47 < BOSS_x+17)
						{
							Player_x -= Player_Speed;
						}
						else
						{
							if(Math.abs((Player_y+48)-(BOSS_y+33)) > 5)
							{
								Player_x -= Player_Speed;
							}
						}
					}
					else
					{
						BOSSBK_x += Player_Speed;
						BOSS_x   += Player_Speed;
						Skull_x1 += Player_Speed;
						Skull_x2 += Player_Speed;
					}					
				}
				else
				{
					BOSSBK_x = 0;
					if(Player_x > -22)
					{
						if(Player_x+22 > BOSS_x+21)
						{
							Player_x -= Player_Speed;
						}
						else if(Player_x+47 < BOSS_x+17)
						{
							Player_x -= Player_Speed;
						}
						else
						{
							if(Math.abs((Player_y+48)-(BOSS_y+33)) > 5)
							{
								Player_x -= Player_Speed;
							}
						}
					}
				}
			    if(Player_Nowframe<Player_Action[Player_Act].length-1)
		    	{
			    	Player_Nowframe++;
				}
				else
				{
					Player_Nowframe=0;			    
				}
		    	Player_Frames = Player_Action[Player_Act][Player_Nowframe];
			break;
			
			case -4: //右
				Gongji_Num = 0;
				Player_ZTime = 0;
				Zhongqiang_Num = 0;
				Is_Left_Or_Right = false;
				if(Now_Direction == -4 && Run_Time < 4)
				{
					Is_Walk_Or_Run = false;
				}
				if(Is_Walk_Or_Run)
				{
					Player_Act = 3;
				}
				else
				{
					Player_Act = 1;

⌨️ 快捷键说明

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