SDL MOUSEMOTION yrel не дает должного значения

Я создал эту простую функцию, и кажется, что с ней что-то не так, что я действительно не понимаю, что это такое …

Evnt.motion.yrel выходной сумасшедший номер.

void EnthropyGenerator::OpenWindow()
{SDL_Window *EnthropyGeneratorWindow;
SDL_Renderer* Renderer;
SDL_Init(SDL_INIT_VIDEO);
EnthropyGeneratorWindow = SDL_CreateWindow("Enthropy Generator", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WindowSizeX, WindowSizeY, SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS | SDL_WINDOW_INPUT_GRABBED);

if  (EnthropyGeneratorWindow == NULL)
{ServerEngine::FatalError("Could not create window: " + (std::string)SDL_GetError());}

Renderer = SDL_CreateRenderer(EnthropyGeneratorWindow, -1, 0);
SDL_SetRenderDrawColor(Renderer, 10, 255, 0, 255);
SDL_RenderClear(Renderer);
SDL_RenderPresent(Renderer);

bool NeedMoreEntropy = true;
SDL_Event Evnt;
while (NeedMoreEntropy)
{while (SDL_PollEvent(&Evnt))
{if (Evnt.type == SDL_MOUSEMOTION)
{std::cout << Evnt.motion.xrel << " and " << Evnt.motion.yrel << std::endl;
std::cout << m_EnthropyNeed << std::endl;
UpdateMousePosition(Evnt.motion.xrel, Evnt.motion.yrel);
AddEnthropy(m_MouseX, m_MouseY);
if  (m_EnthropyNeed == 256)
{NeedMoreEntropy = false;}

}
}
}
SDL_DestroyWindow(EnthropyGeneratorWindow);
SDL_Quit();
}

void EnthropyGenerator::UpdateMousePosition(int deltaX, int deltaY)
{m_MouseX += deltaX;
m_MouseY += deltaY;
}

void EnthropyGenerator::AddEnthropy(int deltaX, int deltaY)
{m_EnthropyNeed++;}

Выход в консоли: 0 и 1985359926 и так далее.

Выход

Похоже, что-то не инициализировано или выглядит как плохой указатель … Пожалуйста, помогите мне, если можете.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]