diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/cpp/WorldScene.cpp | 10 |
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 + ); } |