aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/cpp/WorldScene.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/cpp/WorldScene.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/cpp/WorldScene.cpp b/src/main/cpp/WorldScene.cpp
index 973c6e6..cefeda4 100644
--- a/src/main/cpp/WorldScene.cpp
+++ b/src/main/cpp/WorldScene.cpp
@@ -16,7 +16,7 @@ void WorldScene::render()
rect.setOutlineColor(sf::Color::Black);
for (const Tile &tile : map.tiles()) {
- rect.setPosition(tile.x * _tileSize, tile.y * _tileSize);
+ rect.setPosition(tile.x * _tileSize + _panX, tile.y * _tileSize + _panY);
_window.draw(rect);
}
}
@@ -52,4 +52,14 @@ void WorldScene::zoom(float factor)
}
void WorldScene::pan(int dx, int dy)
-{}
+{
+ _panX = _panX + dx;
+ _panY = _panY + dy;
+
+ sf::View view = _window.getView();
+
+ view.setCenter(
+ view.getCenter().x + _panX,
+ view.getCenter().y + _panY
+ );
+}