本文整理汇总了C++中CMouse::GetMouseY方法的典型用法代码示例。如果您正苦于以下问题:C++ CMouse::GetMouseY方法的具体用法?C++ CMouse::GetMouseY怎么用?C++ CMouse::GetMouseY使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMouse
的用法示例。
在下文中一共展示了CMouse::GetMouseY方法的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;
//.........这里部分代码省略.........