Код: Выделить всё
while (!display.IsClosed())
{
...
Uint32 mouseState = SDL_GetMouseState(¤tMouseX, ¤tMouseY);
while (SDL_PollEvent(&event)) {
SDL_GL_SetSwapInterval(0);
if (!ImGui::IsAnyItemActive() && !ImGui::IsWindowHovered(ImGuiHoveredFlags_AnyWindow)) {
switch (event.type) {
case SDL_QUIT:
break;
case SDL_MOUSEWHEEL:
z += event.wheel.y;
break;
case SDL_MOUSEBUTTONDOWN:
if (event.button.button == SDL_BUTTON_LEFT) {
isDragging = true;
lastMouseX = event.button.x;
lastMouseY = event.button.y;
}
break;
case SDL_MOUSEBUTTONUP:
if (event.button.button == SDL_BUTTON_LEFT) {
isDragging = false;
}
break;
default:
break;
}
}
}
if (isDragging) {
int dx = currentMouseX - lastMouseX;
int dy = currentMouseY - lastMouseY;
x += dx * 0.07f;
y += dy * 0.07f;
lastMouseX = currentMouseX;
lastMouseY = currentMouseY;
}
camera.udpatePosition(glm::vec3(x, y, z));
display.Update();
start = false;
}
Я пробовал помещать инструкции из циклов while, изменяя для циклов if. Также пробовал размещать логические символы в разных местах, но теперь я застрял и не знаю, как обойти эту штуку, чтобы она работала. Пожалуйста, помогите
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-movement
Мобильная версия