修改渲染底层,新增场景摄像机逻辑,地图可行区域逻辑
This commit is contained in:
@@ -115,6 +115,71 @@ void Chr_Controller::HandleEvents(SDL_Event *e)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDL_KEYDOWN:
|
||||
{
|
||||
switch (e->key.keysym.sym)
|
||||
{
|
||||
case SDLK_UP: // 上方向键
|
||||
LeftStick.y = -1.0f;
|
||||
break;
|
||||
case SDLK_DOWN: // 下方向键
|
||||
LeftStick.y = 1.0f;
|
||||
break;
|
||||
case SDLK_LEFT: // 左方向键
|
||||
LeftStick.x = -1.0f;
|
||||
break;
|
||||
case SDLK_RIGHT: // 右方向键
|
||||
LeftStick.x = 1.0f;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// 如果父对象存在 调用父对象的消息处理
|
||||
if (m_pCharacter)
|
||||
{
|
||||
m_pCharacter->ControllerMsg(CONTROLLER_MSG_TYPE::CONTROLLER_MSG_TYPE_LEFT_JOYSTICK_MOVE, &LeftStick);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDL_KEYUP:
|
||||
{
|
||||
switch (e->key.keysym.sym)
|
||||
{
|
||||
case SDLK_UP: // 上方向键
|
||||
{
|
||||
if (LeftStick.y < 0.f)
|
||||
LeftStick.y = 0.f;
|
||||
break;
|
||||
}
|
||||
case SDLK_DOWN: // 下方向键
|
||||
{
|
||||
if (LeftStick.y > 0.f)
|
||||
LeftStick.y = 0.f;
|
||||
break;
|
||||
}
|
||||
case SDLK_LEFT: // 左方向键
|
||||
{
|
||||
if (LeftStick.x < 0.f)
|
||||
LeftStick.x = 0.f;
|
||||
break;
|
||||
}
|
||||
case SDLK_RIGHT: // 右方向键
|
||||
{
|
||||
if (LeftStick.x > 0.f)
|
||||
LeftStick.x = 0.f;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// 如果父对象存在 调用父对象的消息处理
|
||||
if (m_pCharacter)
|
||||
{
|
||||
m_pCharacter->ControllerMsg(CONTROLLER_MSG_TYPE::CONTROLLER_MSG_TYPE_LEFT_JOYSTICK_MOVE, &LeftStick);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
// 可以处理其他类型的事件或忽略
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user