aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/cpp/WorldScene.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/cpp/WorldScene.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/cpp/WorldScene.cpp b/src/main/cpp/WorldScene.cpp
index 209596b..c152db8 100644
--- a/src/main/cpp/WorldScene.cpp
+++ b/src/main/cpp/WorldScene.cpp
@@ -17,7 +17,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);
}
}
@@ -51,5 +51,13 @@ 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
+ );
}