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

📄 arm.cpp

📁 国产的RPG源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			if( ArmList.Select >= role[0].Propertiy.CurArmNum ) 
				ArmList.Select=role[0].Propertiy.CurArmNum-1;
		}
	}

	//显示
	int shownum=(ArmList.ScrollBar.PageNum<role[0].Propertiy.CurArmNum)?ArmList.ScrollBar.PageNum:role[0].Propertiy.CurArmNum;
	for(int i=0; i<shownum; i++)
	{		
		n=ArmList.ScrollBar.CurNum+i;

		if( n==ArmList.Select )
		{
			if( ArmList.ScrollBar.PageNum < ArmList.ScrollBar.MaxNum-ArmList.ScrollBar.MinNum )
				Bar(surf, ArmList.x, ArmList.y+ArmList.LineHeight*i+2, ArmList.x+ArmList.Width-ArmList.ScrollBar.Width, ArmList.y+ArmList.LineHeight*(i+1)-2, ArmList.SelectColor);
			else
				Bar(surf, ArmList.x, ArmList.y+ArmList.LineHeight*i+2, ArmList.x+ArmList.Width-1, ArmList.y+ArmList.LineHeight*(i+1)-2, ArmList.SelectColor);
		}
		
		Blt(surf, ArmList.x, ArmList.y+ArmList.LineHeight*i, CMenu::Goods.GOODS[role[0].Propertiy.Arm[n]].Pic, GetRect(0, 0, CMenu::Goods.PicWidth, ArmList.LineHeight), true);
		
		DWORD c=Font.GetColor();
		Font.SetColor(0);
		Font.PrintText(surf, ArmList.x+ArmList.Column[1].x+1, ArmList.y+4+ArmList.LineHeight*i+1, CMenu::Goods.GOODS[role[0].Propertiy.Arm[n]].Name);
		Font.PrintText(surf, ArmList.x+ArmList.Column[3].x+1, ArmList.y+4+ArmList.LineHeight*i+1, "%2d", role[0].Propertiy.ArmNum[n]);
		Font.SetColor(c);
		Font.PrintText(surf, ArmList.x+ArmList.Column[1].x, ArmList.y+4+ArmList.LineHeight*i, CMenu::Goods.GOODS[role[0].Propertiy.Arm[n]].Name);
		Font.PrintText(surf, ArmList.x+ArmList.Column[3].x, ArmList.y+4+ArmList.LineHeight*i, "%2d", role[0].Propertiy.ArmNum[n]);
	}

	//更换装备
	if( mouse == LB_UP && point.x > ArmList.x && point.x < ArmList.x+ArmList.Width-ArmList.ScrollBar.Width && point.y > ArmList.y && point.y < ArmList.y+ArmList.LineHeight*role[0].Propertiy.CurArmNum )
	{
		int sel =(point.y-ArmList.y)/ArmList.LineHeight + ArmList.ScrollBar.CurNum;	//使用装备
		//if(sel!=-1)
		{
			CMenu::Sound_Click.Play();	//音效
			int SelR=CMenu::RoleSel.SelectRole;
			int arm=role[0].Propertiy.Arm[sel];
			if( CMenu::Goods.GOODS[arm].Class == 0 )	//武器
			{
				int rolearm=role[SelR].Propertiy.Arms;	//旧武器
				if( rolearm != 0 )	
					role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[0].DelArm(CMenu::Goods.GOODS[arm].Name);
				role[SelR].Propertiy.Arms=arm;
				//更新数值
				role[SelR].UnSetupArm(rolearm);
				role[SelR].SetupArm(arm);
			}
			else if( CMenu::Goods.GOODS[arm].Class == 1 )	//护具
			{
				int rolearm=role[SelR].Propertiy.Corselet;	//旧护具
				if( rolearm != 0 )	
					role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[0].DelArm(CMenu::Goods.GOODS[arm].Name);
				role[SelR].Propertiy.Corselet=arm;					
				
				//更新数值
				role[SelR].UnSetupArm(rolearm);
				role[SelR].SetupArm(arm);
			}
			Menu.ReInitMenu();	//更新屏幕
			if(role[SelR].Propertiy.CurArmNum>0)
			{
				if(ArmList.Select>=role[SelR].Propertiy.CurArmNum)
					ArmList.Select = role[SelR].Propertiy.CurArmNum-1;
			}
			else
				ArmList.Select = -1;
		}
	}
	if(A_UP)
	{
		int sel = ArmList.Select;	//使用装备
		if(sel!=-1)
		{
			CMenu::Sound_Click.Play();	//音效
			int SelR=CMenu::RoleSel.SelectRole;
			int arm=role[0].Propertiy.Arm[sel];
			if( CMenu::Goods.GOODS[arm].Class == 0 )	//武器
			{
				int rolearm=role[SelR].Propertiy.Arms;	//旧武器
				if( rolearm != 0 )	
					role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[0].DelArm(CMenu::Goods.GOODS[arm].Name);
				role[SelR].Propertiy.Arms=arm;
				//更新数值
				role[SelR].UnSetupArm(rolearm);
				role[SelR].SetupArm(arm);
			}
			else if( CMenu::Goods.GOODS[arm].Class == 1 )	//护具
			{
				int rolearm=role[SelR].Propertiy.Corselet;	//旧护具
				if( rolearm != 0 )	
					role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[0].DelArm(CMenu::Goods.GOODS[arm].Name);
				role[SelR].Propertiy.Corselet=arm;					
				
				//更新数值
				role[SelR].UnSetupArm(rolearm);
				role[SelR].SetupArm(arm);
			}
			Menu.ReInitMenu();	//更新屏幕
			if(role[SelR].Propertiy.CurArmNum>0)
			{
				if(ArmList.Select>=role[SelR].Propertiy.CurArmNum)
					ArmList.Select = role[SelR].Propertiy.CurArmNum-1;
			}
			else
				ArmList.Select = -1;
		}
	}

	//卸除装备
	if( point.x > Window_Setup.dialogx+32 && point.x < Window_Setup.dialogx+Window_Setup.dialogw-32 )
	{
		if( point.y > Window_Setup.dialogy+32 && point.y < Window_Setup.dialogy+64 )
		{
			int SelR=CMenu::RoleSel.SelectRole;
			ShowChangeNum(surf, 0, role[SelR].Propertiy.Arms);
			Rectangle(surf, Window_Setup.dialogx+32, Window_Setup.dialogy+32, Window_Setup.dialogx+Window_Setup.dialogw-34, Window_Setup.dialogy+62, RGB16(0,255,255));
			if( mouse == LB_UP )
			{
				CMenu::Sound_Click.Play();	//音效
				int rolearm=role[SelR].Propertiy.Arms;	//旧武器
				if( rolearm != 0 )	
					role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[SelR].Propertiy.Arms=0;
				role[SelR].UnSetupArm(rolearm);
				Menu.ReInitMenu();	//更新屏幕
			}
		}
		else if( point.y > Window_Setup.dialogy+64 && point.y < Window_Setup.dialogy+Window_Setup.dialogh-32 )
		{
			int SelR=CMenu::RoleSel.SelectRole;
			ShowChangeNum(surf, 0, role[SelR].Propertiy.Corselet);
			Rectangle(surf, Window_Setup.dialogx+32, Window_Setup.dialogy+63, Window_Setup.dialogx+Window_Setup.dialogw-34, Window_Setup.dialogy+Window_Setup.dialogh-34, RGB16(0,255,255));
			if( mouse == LB_UP )
			{
				CMenu::Sound_Click.Play();	//音效
				int rolearm=role[SelR].Propertiy.Corselet;	//旧护具
				if( rolearm != 0 )	role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
				role[SelR].Propertiy.Corselet=0;
				role[SelR].UnSetupArm(rolearm);
				Menu.ReInitMenu();	//更新屏幕
			}
		}
	}

	//卸除装备
	if( Key.KeyDown( DIK_A ) )
	{
		int SelR=CMenu::RoleSel.SelectRole;
		ShowChangeNum(surf, 0, role[SelR].Propertiy.Arms);
		Rectangle(surf, Window_Setup.dialogx+32, Window_Setup.dialogy+32, Window_Setup.dialogx+Window_Setup.dialogw-34, Window_Setup.dialogy+62, RGB16(0,255,255));
	}

	if( key == DIK_A + 128 || joystick == DIJ_L2 )
	{
		int SelR=CMenu::RoleSel.SelectRole;
		CMenu::Sound_Click.Play();	//音效
		int rolearm=role[SelR].Propertiy.Arms;	//旧武器
		if( rolearm != 0 )	role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
		role[SelR].Propertiy.Arms=0;
		role[SelR].UnSetupArm(rolearm);
		Menu.ReInitMenu();	//更新屏幕
		if(point.x > ArmList.x && point.x < ArmList.x+ArmList.Width-ArmList.ScrollBar.Width && point.y > ArmList.y && point.y < ArmList.y+ArmList.LineHeight*role[0].Propertiy.CurArmNum)
			ArmList.Select = (point.y-ArmList.y)/ArmList.LineHeight + ArmList.ScrollBar.CurNum;	
		else
			ArmList.Select = 0;
	}

	if( Key.KeyDown( DIK_Z ) )
	{
		int SelR=CMenu::RoleSel.SelectRole;
		ShowChangeNum(surf, 0, role[SelR].Propertiy.Corselet);
		Rectangle(surf, Window_Setup.dialogx+32, Window_Setup.dialogy+63, Window_Setup.dialogx+Window_Setup.dialogw-34, Window_Setup.dialogy+Window_Setup.dialogh-34, RGB16(0,255,255));
	}

	if( key == DIK_Z + 128 || joystick == DIJ_L1 )
	{
		int SelR=CMenu::RoleSel.SelectRole;
		CMenu::Sound_Click.Play();	//音效
		int rolearm=role[SelR].Propertiy.Corselet;	//旧护具
		if( rolearm != 0 )	role[0].AddArm(CMenu::Goods.GOODS[rolearm].Name);
		role[SelR].Propertiy.Corselet=0;
		role[SelR].UnSetupArm(rolearm);
		Menu.ReInitMenu();	//更新屏幕
		if(point.x > ArmList.x && point.x < ArmList.x+ArmList.Width-ArmList.ScrollBar.Width && point.y > ArmList.y && point.y < ArmList.y+ArmList.LineHeight*role[0].Propertiy.CurArmNum)
			ArmList.Select = (point.y-ArmList.y)/ArmList.LineHeight + ArmList.ScrollBar.CurNum;	
		else
			ArmList.Select = 0;

	}
	
	//下一个
	if( DOWN_DOWN && ArmList.Select < ArmList.ScrollBar.MaxNum-1 )
	{
		CMenu::Sound_Change.Play();
		ArmList.Select++;
		if( ArmList.Select >= ArmList.ScrollBar.CurNum + ArmList.ScrollBar.PageNum )
			ArmList.ScrollBar.SetCurNum(ArmList.ScrollBar.CurNum+1);
	}

	//上一个
	if( UP_DOWN && ArmList.Select > 0 )
	{
		CMenu::Sound_Change.Play();
		ArmList.Select--;
		if( ArmList.Select < ArmList.ScrollBar.CurNum )
			ArmList.ScrollBar.SetCurNum(ArmList.ScrollBar.CurNum-1);
	}

}

⌨️ 快捷键说明

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