浏览代码

Input now works correctly

legacy
Benjamin ‘Touky’ Huet touky 12 年前
父节点
当前提交
1e48c827a4
共有 2 个文件被更改,包括 8 次插入33 次删除
  1. +7
    -32
      src/input/input.cpp
  2. +1
    -1
      test/BtPhysTest.cpp

+ 7
- 32
src/input/input.cpp 查看文件

@@ -237,49 +237,24 @@ bool InputTracker::WasPressed(ACTION_TYPE Action)
//Returns the current status of a given action //Returns the current status of a given action
int InputTracker::GetStatus(Key Button) int InputTracker::GetStatus(Key Button)
{ {
for (int i = 0; i < m_input_assocation_list.Count(); i++)
{
ButtonSetting &CurIT = m_input_assocation_list[i];

if (Button == CurIT.m_raw_button)
return GetCurrentButtonStatus(CurIT.m_raw_button);
}
return 0;
return GetCurrentButtonStatus(Button);
} }


//Returns TRUE if action status went from Active to Inactive this frame //Returns TRUE if action status went from Active to Inactive this frame
bool InputTracker::WasReleased(Key Button) bool InputTracker::WasReleased(Key Button)
{ {
for (int i = 0; i < m_input_assocation_list.Count(); i++)
{
ButtonSetting &CurIT = m_input_assocation_list[i];
if (Button == CurIT.m_raw_button)
{
if (GetPreviousButtonStatus(CurIT.m_raw_button) &&
!GetCurrentButtonStatus(CurIT.m_raw_button))
return true;
return false;
}
}
if (GetPreviousButtonStatus(Button) &&
!GetCurrentButtonStatus(Button))
return true;
return false; return false;
} }


//Returns TRUE if action status went from Inactive to Active this frame //Returns TRUE if action status went from Inactive to Active this frame
bool InputTracker::WasPressed(Key Button) bool InputTracker::WasPressed(Key Button)
{ {
for (int i = 0; i < m_input_assocation_list.Count(); i++)
{
ButtonSetting &CurIT = m_input_assocation_list[i];

if (Button == CurIT.m_raw_button)
{
if (!GetPreviousButtonStatus(CurIT.m_raw_button) &&
GetCurrentButtonStatus(CurIT.m_raw_button))
return true;
return false;
}
}
if (!GetPreviousButtonStatus(Button) &&
GetCurrentButtonStatus(Button))
return true;
return false; return false;
} }




+ 1
- 1
test/BtPhysTest.cpp 查看文件

@@ -228,7 +228,7 @@ void BtPhysTest::TickGame(float seconds)
{ {
WorldEntity::TickGame(seconds); WorldEntity::TickGame(seconds);


if (Input::GetButtonState(27 /*SDLK_ESCAPE*/))
if (Input::WasReleased(Key::K_ESCAPE))
Ticker::Shutdown(); Ticker::Shutdown();


m_loop_value += seconds; m_loop_value += seconds;


正在加载...
取消
保存