Dynamiczna kamera w grze RPG 2D
Ostatnio zmodyfikowano 2024-05-05 23:47
tBane Temat założony przez niniejszego użytkownika |
» 2024-05-05 23:35:13 ok, w złej kolejności przypisałem view. Teraz nie działa view.setCenter(player->x, player->y);int main() { window->setFramerateLimit( 120 ); loadTextures(); prefabs.clear(); gameObjects.clear(); loadPrefabs(); sf::View view; view.setSize( sf::Vector2f( screenWidth, screenHeight ) ); window->setView( view ); player = new Player(); player->setPosition( halfScreenWidth, halfScreenHeight ); gameObjects.push_back( player ); view.setCenter( player->x, player->y ); createGameObjects(); while( window->isOpen() ) { cout << "cursor at: " << sf::Mouse::getPosition( * window ).x << "," << sf::Mouse::getPosition( * window ).y << endl; for( auto & go: gameObjects ) go->update(); std::sort( gameObjects.begin(), gameObjects.end(),[ ]( const auto & a, const auto & b ) { return a->y < b->y; } ); view.setCenter( player->x, player->y ); window->clear( sf::Color( 64, 128, 64 ) ); for( auto & go: gameObjects ) go->render( window ); window->display(); sf::sleep( sf::milliseconds( 100 ) ); } |
|
tBane Temat założony przez niniejszego użytkownika |
» 2024-05-05 23:47:42 dobra już wiem. Trzeba za każdym razem podczas renderowania przypisywać na nowo view do okna. window->clear( sf::Color( 64, 128, 64 ) ); window->setView( view ); for( auto & go: gameObjects ) go->render( window );
window->display();
|
|
1 « 2 » |