当前位置: 首页>>代码示例>>C++>>正文


C++ CMouse::GetMouseX方法代码示例

本文整理汇总了C++中CMouse::GetMouseX方法的典型用法代码示例。如果您正苦于以下问题:C++ CMouse::GetMouseX方法的具体用法?C++ CMouse::GetMouseX怎么用?C++ CMouse::GetMouseX使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CMouse的用法示例。


在下文中一共展示了CMouse::GetMouseX方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Run

/*
 * 功能: 场景相机玩家操作处理
 * 摘要: -
 * 参数: -
 * 返回值: -
 * 作者: lpf
 * 创建日期: 2008.02.02
 * 修改日志:
 *	2008.07.09- lpf
 *		增加了对摄象机旋转角度的锁定,主要针对玩家通过鼠标键盘控制摄象机时;
 *	2008.07.23- lpf
 *		恢复相机操作可以被键盘和鼠标中键的视距缩放操作中断;
 *	2008.07.30- lpf
 *		鼠标右键双击恢复视角的点击事件时,不恢复视距;
 *	2008.10.17 - lpf
 * 		增加了游戏垂直视角控制由鼠标右键按下上下拖动;
 *	2008.12.04 - lpf
 * 		增加了如果应用程序失去焦点,则清空鼠标信息的处理;
 *	2008.12.16 - lpf
 * 		取消了使用键盘水平旋转视角的过度处理.在收到键盘旋转消息时,直接改变旋转角度,然后就立即改变m_nScorll变量值为0,以停止旋转;
 */
void CRegionCamera::Run(void)
{
	// 输入设备对象
	CMouse	  * pMouse	  = GetMouse();
	CKeyBoard * pKeyboard = GetKeyboard();

	// 鼠标到左右边缘,左右旋转
	POINT ptMouse;
	ptMouse.x = pMouse->GetMouseX();
	ptMouse.y = pMouse->GetMouseY();

	// 键盘控制转方向
	if (m_dwState & SCS_KEYBOARD_ABLE)
	{
		if (m_dwState & SCS_ROTATE_H_ABLE && !(m_dwState & SCS_LOCK_ROTATE))
		{
			if (pKeyboard->IsKeyDown(DIK_LEFT) && pKeyboard->IsKeyDown(DIK_LCONTROL))
			{
				//|| GetGame()->GetSetup()->lControl == 1 && pMouse->GetMouseX()<5 
				//&& pMouse->GetMouseY()>0 && pMouse->GetMouseY()<SCREEN_HEIGHT)
				m_nScorll =- 1;
				ResumeCamera();
			}

			if (m_nScorll < 0)
			{
				// left
				m_iHoriAngle -= 3;
				m_iHoriAngle = m_iHoriAngle % 360;

//				if (abs(m_iHoriAngle%10) <= 1)
					m_nScorll=0;
			}

			if (pKeyboard->IsKeyDown(DIK_RIGHT) && pKeyboard->IsKeyDown(DIK_LCONTROL))
			{
				//||	GetGame()->GetSetup()->lControl == 1 && pMouse->GetMouseX()>SCREEN_WIDTH-5
				//&&	pMouse->GetMouseY()>0 && pMouse->GetMouseY()<SCREEN_HEIGHT)
				m_nScorll = 1;
				ResumeCamera();
			}

			if (m_nScorll > 0)
			{
				// right
				m_iHoriAngle += 3;
				m_iHoriAngle = m_iHoriAngle % 360;

				//if (abs(m_iHoriAngle%45) <= 1)
					m_nScorll = 0;
			}

			if (pKeyboard->IsKeyDown(DIK_NEXT) && pKeyboard->IsKeyDown(DIK_LCONTROL))
			{
				++m_iVertAngle;
				if (m_iVertAngle > m_iMaxVertAngle)
					m_iVertAngle = m_iMaxVertAngle;

				ResumeCamera();
			}

			if (pKeyboard->IsKeyDown(DIK_PRIOR) && pKeyboard->IsKeyDown(DIK_LCONTROL))
			{
				--m_iVertAngle;
				if (m_iVertAngle < m_iMinVertAngle)
					m_iVertAngle = m_iMinVertAngle;

				ResumeCamera();
			}
		}

		// 有输入框时无效
		//IGUIRoot *pRoot = IGUIRoot::GetGUIInstance();
		//if(!pRoot->GetFocusComp())
		//{
		//	// 键盘放缩
		//	if (pKeyboard->IsKeyDown(DIK_SUBTRACT) || pKeyboard->IsKeyDown(DIK_UP))
		//	{
		//		s_fDistance -= 0.5f;
//.........这里部分代码省略.........
开发者ID:xiongshaogang,项目名称:mmo-resourse,代码行数:101,代码来源:RegionCamera.cpp


注:本文中的CMouse::GetMouseX方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。