Это игра в жизнь с сеткой квадратов. Я сделал так, чтобы мы могли рисовать на сетке, щелкнув ячейку (щелкнув левой кнопкой мыши). Также (с видом) вы можете перемещаться из стороны в сторону, щелкая правой кнопкой мыши, и увеличивать и уменьшать масштаб. Я нашел, как решить проблему с положением при скольжении, изменив координаты мыши на разницу расстояний, но не могу найти, как решить эту проблему для прокрутки.
Система скольжения и масштабирования сама по себе работает отлично. хотя. Неправильно только положение под курсором мыши.
Я пытался сделать то же самое для скольжения, но у нас нет разницы в расстоянии, с которой можно было бы работать. Сначала я думал, что мне не нужно вносить изменения в координаты, а просто конвертировать их в режиме экрана или просмотра, но это не работает.
И я много чего искал и пробовал, но так и не нашел, как это сделать. сделайте это.
case sf::Event::MouseWheelMoved:
movingView.zoom(1.f + event.mouseWheel.delta * 0.1f);
mouse = sf::Mouse::getPosition(window);
viewMouse = window.mapPixelToCoords(mouse);
if (event.mouseButton.button == sf::Mouse::Right)
{
lastMouse = mouse;
center += moveDiff;
rightClickPressed = true;
}
if (rightClickPressed)
{
moveDiff = (sf::Vector2f)(lastMouse - mouse);
movingView.setCenter(sf::Vector2f(center + moveDiff));
}
if (leftClickPressed)
{
viewMouse += movingView.getCenter() - movingView.getSize() / 2.f;
gameOfLife.clickCell(viewMouse, E_pressed);
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... -it-doesnt
Я использую Windows, работаю с SFML на C++, и когда я увеличиваю или уменьшаю масштаб, он не щелкает ячейку под мышью. ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Мой CSS/макет становится грязным, когда я увеличиваю или увеличиваю масштаб с страницы
Anonymous » » в форуме Html - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Мой CSS/макет становится грязным, когда я увеличиваю или увеличиваю масштаб с страницы
Anonymous » » в форуме CSS - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-