현재 저는 확대하거나 축소 할 수있는 게임 편집기를 만들고 있습니다. 마우스 휠을 위아래로 스크롤 할 수있는 문제가 있습니다. 두 스크롤을 모두 구현할 수 없습니다. 즉, 편집기 클래스에서 input->mouseWheelUp()
을 호출하면 스크롤 업할 수 있습니다. 아래로 스크롤하면 더 이상 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?마우스 휠만 위 또는 아래로 스크롤 할 수 있습니다.
가져 오기 마우스 휠 meesage
LRESULT Game::messageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (initialized) // do not process messages if not initialized
{
switch (msg)
{
case WM_MOUSEWHEEL:
input->mouseWheelIn(wParam);
return 0;
}
}
return DefWindowProc(hwnd, msg, wParam, lParam); // let Windows handle it
}
입력 클래스
void Input::mouseWheelIn(WPARAM wParam)
{
mouseWheel = GET_WHEEL_DELTA_WPARAM(wParam);
}
bool mouseWheelUp()
{
int wheel = mouseWheel;
mouseWheel = 0;
return wheel > 0;
}
bool mouseWheelDown()
{
int wheel = mouseWheel;
mouseWheel = 0;
return wheel < 0;
}
편집기 클래스
void Editor::update()
{
if (input->mouseWheelUp())
{
zoom += 0.1f;
}
if (input->mouseWheelDown())
{
zoom -= 0.1f;
}
}