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