Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [2.1] viewport qui prend toute la fenetre  (Read 3719 times)

0 Members and 1 Guest are viewing this topic.

unitedelite

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
[2.1] viewport qui prend toute la fenetre
« on: December 15, 2013, 11:52:50 am »
salut a tous,

j'ai actuellement un problème avec les viewport, j'essaye de faire une sorte de mini map mais elle prend l’intégralité de l’écran même avec l'utilisation des viewport

voici ou je creer mes vues
        View view(FloatRect(400,300,800,600));
        View boatView;
        view.setViewport(sf::FloatRect(0, 0, 1, 1));
        boatView.setViewport(sf::FloatRect(0.25f, 0.25, 0.5f, 0.5f));


et l'affichage de mes scene :
                window.setView(view);
                window.clear(Color(72,177,255));
                window.draw(map);

                for(unsigned int i=0;i<boatList.size();i++)
                {
                        if(!boatList[i]->destinationAtteinte)
                        {
                                boatList[i]->update();
                                window.draw(boatList[i]->boat);

                                if(zoom >= 3)
                                {
                                        RectangleShape rectangle;
                                        rectangle.setFillColor(Color::Red);
                                        rectangle.setSize(Vector2f(50,50));
                                        rectangle.setPosition(boatList[i]->boat.getPosition());

                                        window.draw(rectangle);
                                }
                        }
                        else
                        {
                                boatList.erase(boatList.begin()+i);
                        }
                }
                window.setView(boatView);
                window.clear(Color(255,0,0));
                window.draw(boat.boat);
                window.display();

La minimap (que j'efface avec un background rouge pour pouvoir voir quel vue est dessiné) prend tout l’écran cachant ainsi complétement ma vue principale (le bateau est bien affiché sur la deuxième vue)


merci pour toute aide ^^

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re : [2.1] viewport qui prend toute la fenetre
« Reply #1 on: December 15, 2013, 06:02:47 pm »
Un code complet minimal, plutôt que des morceaux incomplets de ton jeu, ce serait plus sympa pour debugger ;)
Laurent Gomila - SFML developer

unitedelite

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re : [2.1] viewport qui prend toute la fenetre
« Reply #2 on: December 16, 2013, 11:38:17 am »
la je fait des tests pour mon prochain jeu donc tout est dans le main :

http://pastebin.com/d6vFrNHH

le code est donc bordélique car je prend des raccourci pour faire les test ,le but de ce programme de test est d'essayer de faire un système d'ia de commerce, de scrolling + zoom ainsi que d'un écran qui s'affiche avec une vue zoomé sur le bateau que survol la souris ( d’où le besoin d'un viewPort)  avant de l’intégrer dans mon prochain jeu qui lui sera bien mieux codé (plus rien dans le main donc =° )

G.

  • Hero Member
  • *****
  • Posts: 1599
    • View Profile
Re : [2.1] viewport qui prend toute la fenetre
« Reply #3 on: December 16, 2013, 11:53:38 am »
void sf::RenderTarget::clear(const Color& color = Color(0, 0, 0, 255))   
Clear the entire target with a single color.
Quand tu fais window.clear ça clear toute la fenêtre quoi.

unitedelite

  • Jr. Member
  • **
  • Posts: 61
    • View Profile
Re : [2.1] viewport qui prend toute la fenetre
« Reply #4 on: December 16, 2013, 12:21:30 pm »
ah effectivement, je pensais que ça effaçais seulement la vue courante

merci pour ton aide ^^

voila ce que ça donne quand je survole un navire :
http://img4.hostingpics.net/pics/159309Sanstitre.png

me reste plus qu'a développer l'ia des villes et je pense pouvoir commencer le jeu ^^
« Last Edit: December 16, 2013, 12:46:53 pm by unitedelite »

 

anything