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

📄 gamecanvas.java

📁 RPG类游戏
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				}
				if(BOSSBK_x > -176)
				{
					if(Player_x < 90)
					{
						if(Player_x+47 < BOSS_x)
						{
							Player_x += Player_Speed;
						}
						else if(Player_x+22 > BOSS_x+4)
						{
							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 = -176;
					if(Player_x < 128)
					{
						if(Player_x+47 < BOSS_x)
						{
							Player_x += Player_Speed;
						}
						else if(Player_x+22 > BOSS_x+4)
						{
							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 -5:  //攻击
				Player_ZTime = 0;
				Zhongqiang_Num = 0;
				if(Is_Act_Or_Kan)
				{
					if(Is_Left_Or_Right)
					{
						if((Player_x-BOSS_x) < 13 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && (BOSS_x-Player_x) < 18)
						{
							Beigongji_Time = 0;
							BOSS_Mode = 5;
							Gongji_Num++;
							if(Gongji_Num > 2)
							{
								BOSS_Mode = 3;
								Now_BOSS_y = BOSS_y;
							}
							Is_BOSS_Left_Or_Right = false;
							if(Player_Wrath < 62)
							{
								Player_Wrath += 1;
							}
							else
							{
								Player_Wrath = 62;
							}
							BOSS_Blood -= 1;
							BOSS_Blood_x += 1;
							BOSS_x   -= 2;
							if(Player_Nowframe<Player_Action[2].length-1)
						    {
								if(Act_Time < 5)
								{
									Player_Nowframe++;
									Act_Time = 0;
								}
								else
								{
									Player_Nowframe = 0;
									Act_Time = 0;
								}
							}
							else
							{
								Player_Nowframe=0;
							}
						}
						else
						{
							Player_Nowframe=0;
						}
					}
					else
					{
						if(Player_x+47 > BOSS_x-15 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && Player_x+22 < BOSS_x-12)
						{
							Beigongji_Time = 0;
							BOSS_Mode = 5;
							Gongji_Num++;
							if(Gongji_Num > 2)
							{
								BOSS_Mode = 3;
								Now_BOSS_y = BOSS_y;
							}
							Is_BOSS_Left_Or_Right = true;
							if(Player_Wrath < 62)
							{
								Player_Wrath += 1;
							}
							else
							{
								Player_Wrath = 62;
							}
							BOSS_Blood -= 1;
							BOSS_Blood_x += 1;
							BOSS_x   += 2;
							if(Player_Nowframe<Player_Action[2].length-1)
						    {
								if(Act_Time < 5)
								{
									Player_Nowframe++;
									Act_Time = 0;
								}
								else
								{
									Player_Nowframe = 0;
									Act_Time = 0;
								}
							}
							else
							{
								Player_Nowframe=0;
							}
						}
						else
						{
							Player_Nowframe=0;
						}
					}
					if(Key_Time > 1)
					{
						Player_Act = 0;
						Player_Direction = 0;
					}
					Player_Frames = Player_Action[2][Player_Nowframe];
				}
				else
				{
					Gongji_Num = 0;
					if(Is_Left_Or_Right)
					{
						if((Player_x-BOSS_x) < 13 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && (BOSS_x-Player_x) < 18)
						{
							if(Player_Wrath < 62)
							{
								Player_Wrath += 2;
							}
							else
							{
								Player_Wrath = 62;
							}
							BOSS_Blood -= 4;
							BOSS_Blood_x += 4;
							Player_x -= 2;
							Is_BOSS_Left_Or_Right = false;
							BOSS_Mode = 8;
							Now_BOSS_x = BOSS_x;							
						}
					}
					else
					{
						if(Player_x+88 > BOSS_x-15 && Math.abs((Player_y+48)-(BOSS_y+33)) < 6 && Player_x+30 < BOSS_x-12)
						{
							if(Player_Wrath < 62)
							{
								Player_Wrath += 5;
							}
							else
							{
								Player_Wrath = 62;
							}
							BOSS_Blood -= 4;
							BOSS_Blood_x += 4;
							Player_x += 2;
							Is_BOSS_Left_Or_Right = true;
							BOSS_Mode = 8;
							Now_BOSS_x = BOSS_x;
						}
					}
					if(Key_Time > 1)
					{
						Player_Act = 0;
						Player_Direction = 0;
					}
				}
			break;
			
			case 51:  //开枪
				if(Player_Bullet > 0)
				{
					Player_ZTime = 0;
					Gongji_Num = 0;
					Player_Bullet--;
					if(BOSS_Mode != 7 && BOSS_Mode != 3 && BOSS_Mode != 6)
					{
						if(Is_Left_Or_Right)
						{
							Is_BOSS_Left_Or_Right = false;
							if(BOSS_x+16 < Player_x+30)
							{
								Zhongqiang_Num++;
								if(Zhongqiang_Num > 3)
								{
									BOSS_Mode = 3;
									Now_BOSS_y = BOSS_y;
								}
								if(Player_Wrath < 62)
								{
									Player_Wrath += 2;
								}
								else
								{
									Player_Wrath = 62;
								}
								BOSS_Blood--;
								BOSS_Blood_x++;								
								if((Player_y+48)-(BOSS_y+33) > 9)
								{
									Player_Nowframe = 0;
								}
								else if(Math.abs((Player_y+48)-(BOSS_y+33)) < 10)
								{
									Player_Nowframe = 1;
								}
								else
								{
									Player_Nowframe = 2;
								}
								Player_Frames = Player_Action[4][Player_Nowframe];
							}
							else
							{
								Player_Frames = Player_Action[4][1];
							}
						}
						else
						{
							Is_BOSS_Left_Or_Right = true;
							if(Player_x+32 < BOSS_x)
							{
								Zhongqiang_Num++;
								if(Zhongqiang_Num > 3)
								{
									BOSS_Mode = 3;
									Now_BOSS_y = BOSS_y;
								}
								if(Player_Wrath < 62)
								{
									Player_Wrath += 2;
								}
								else
								{
									Player_Wrath = 62;
								}
								BOSS_Blood--;
								BOSS_Blood_x++;
								if((Player_y+48)-(BOSS_y+33) > 9)
								{
									Player_Nowframe = 0;
								}
								else if(Math.abs((Player_y+48)-(BOSS_y+33)) < 10)
								{
									Player_Nowframe = 1;
								}
								else
								{
									Player_Nowframe = 2;
								}
								Player_Frames = Player_Action[4][Player_Nowframe];
							}
							else
							{
								Player_Frames = Player_Action[4][1];
							}
						}
					}
					else
					{
						if((Player_y+48)-(BOSS_y+33) > 9)
						{
							Player_Nowframe = 0;
						}
						else if(Math.abs((Player_y+48)-(BOSS_y+33)) < 10)
						{
							Player_Nowframe = 1;
						}
						else
						{
							Player_Nowframe = 2;
						}
						Player_Frames = Player_Action[4][Player_Nowframe];
					}
				}
				else
				{
					Player_Act = 0;
					Player_Direction = 0;
					Player_Frames = Player_Action[0][0];
				}
				if(Key_Time > 1)
				{
					Player_Act = 0;
					Player_Direction = 0;
				}
			break;
			
			case 57:
				Zhongqiang_Num = 0;
				Gongji_Num = 0;
				Player_ZTime = 0;
				if(Player_Wrath != 62)
				{
					Player_Act = 0;
					Player_Direction = 0;
				}
				if(Player_Wrath == 62)
				{
					if(Power_Time < 11)
					{
						Power_Time++;
					}
					if(Power_Time > 10)
					{
						BOSS_Blood -= 58;
						BOSS_Blood_x += 58;
						Player_Direction = 0;
						Power_Time = 0;
						Player_Wrath = 0;
					}
				}
			break;
			
			case 50:
				Gongji_Num = 0;
				Zhongqiang_Num = 0;
				if(Player_Serum > 0 && !Is_Chiyao)
				{
					Is_Chiyao = true;
					Player_Serum--;
					if(Player_Blood < 62)
					{
						Player_Blood += 15;
					}
					if(Player_Blood > 62)
					{
						Player_Blood = 62;
					}
				}
				else
				{
					Player_Act = 0;
					Player_Direction = 0;
					Player_Frames = Player_Action[0][0];
				}
			break;
			
			case 0:
				Player_ZTime++;
				if(Player_ZTime > 20)
				{
					Blood_Time++;
					if(Blood_Time > 10)
					{
						switch(Blood_Num)
						{
						case 0:
							if(Player_Blood < 62)
							{
								Player_Blood++;
							}
						break;

						case 1:
							if(Player_Blood < 46)
							{
								Player_Blood++;
							}
						break;

						case 2:
							if(Player_Blood < 30)
							{
								Player_Blood++;
							}
						break;

						case 3:
							if(Player_Blood < 14)
							{
								Player_Blood++;
							}
						break;
						}
						Blood_Time = 0;
					}
				}
			break;
			}
		}
		else
		{
			Player_Frames = Player_Action[5][Player_Nowframe];
		}
//		System.out.println("Key_Time = "+Key_Time);
//		System.out.println("Act_Time = "+Act_Time);
//		System.out.println("Kan_Time = "+Kan_Time);
//		System.out.println("Player_Nowframe = "+Player_Nowframe);
//		System.out.println("Player_Direction = "+Player_Direction);
//		System.out.println("Player_Act = "+Player_Act);
//		System.out.println("Run_Time = "+Run_Time);
//		System.out.println("Player_Speed = "+Player_Speed);
	}
	
//所有控制主角动作的时间计算
	protected void AllTime()
	{
		if(Is_Run)
		{
			Run_Time++;
		}
		if(Is_Act)
		{
			Act_Time++;
		}
		if(Is_KeyDown)
		{
			Key_Time++;
		}
		if(Enemy_Create_Time < 31)
		{
			Enemy_Create_Time++;
		}
		else
		{
			Enemy_Create_Time = 0;
		}
		if(Player_Act != 5)
		if(Player_Blood <= 0)
		{
			Now_BOSS_y = BOSS_y;
			Player_Act = 5;
			BOSS_Mode = 10;
		}
		if(Player_Blood > 46)
		{
			Blood_Num = 0;
		}
		else if(Player_Blood > 30 && Player_Blood <= 46)
		{
			Blood_Num = 1;
		}
		else if(Player_Blood > 14 && Player_Blood <= 30)
		{
			Blood_Num = 2;
		}
		else if(Player_Blood > 0 && Player_Blood <= 14)
		{
			Blood_Num = 3;
		}
		Huoyan_Time++;
		if(Huoyan_Time > 6)
		{
			Huoyan_Time = 0;
		}		
	}

//主角的速度
	protected void PlayerSpeed()
	{
		switch(Player_Act)
		{
		case 0: //站立
			Player_Speed = 0;
		break;
		
		case 1: //跑
			Player_Speed = 4;
		break;
		
		case 2: //攻击
			Player_Speed = 0;
		break;
		
		case 3: //走
			Player_Speed = 2;
		break;
		
		case 4: //开枪
			Player_Speed = 0;
		break;
		
		case 5: //死亡
			Player_Speed = 0;
		break;
		}
	}

//主角状态
	protected void PlayerStatus()
	{
		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:  //上
				Player_ZTime = 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 > 90)
				{
					Player_y -= Player_Speed;
				}
				if(Player_Nowframe<Player_Action[Player_Act].length-1)

⌨️ 快捷键说明

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