Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [2.1] viewport qui prend toute la fenetre  (Lu 2599 fois)

0 Membres et 1 Invité sur ce sujet

unitedelite

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
[2.1] viewport qui prend toute la fenetre
« le: Décembre 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
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [2.1] viewport qui prend toute la fenetre
« Réponse #1 le: Décembre 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
  • **
  • Messages: 61
    • Voir le profil
Re : [2.1] viewport qui prend toute la fenetre
« Réponse #2 le: Décembre 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
  • *****
  • Messages: 1592
    • Voir le profil
Re : [2.1] viewport qui prend toute la fenetre
« Réponse #3 le: Décembre 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
  • **
  • Messages: 61
    • Voir le profil
Re : [2.1] viewport qui prend toute la fenetre
« Réponse #4 le: Décembre 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 ^^
« Modifié: Décembre 16, 2013, 12:46:53 pm par unitedelite »