Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

Affichage de plusieurs carrés


Sujet :

SFML

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : décembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Affichage de plusieurs carrés
    Bonjour,
    Je me demandais en SFML comment fallait il faire pour afficher plusieurs carrés, je m'explique :
    Admettons que l'on veuille afficher 20 RectangleShape, on peut créer 20 variable de type RectangleShape: cela est penible mais possible:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sf::RectangleShape objet1;
    sf::RectangleShape objet2;
    std::cout<<"..."<<std::endl;
    Mais admettons que l'on veuille maintenant crée 100 carré ? comment va t-on faire ? Je pensais à créer un vector de rectangleShape et faire une boucle for qui les affiche : mais le problème est que les carré ne s'affichent que pendant la boucle for et non à la fin de celle-ci (puisque les window.draw sont à l'interieur de la boucle for).
    Existe il donc une manière qui permettrait d'afficher 100 carrés à des positions differentes (en pouvant les faire bouger chacun à des endroits differents )...Sans créait 100 variables de type RectangleShape.

    merci d'avance.
    Bonne reception.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    6 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 6 061
    Points : 27 000
    Points
    27 000
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Thinking Voir le message
    Existe il donc une manière qui permettrait d'afficher 100 carrés à des positions differentes (en pouvant les faire bouger chacun à des endroits differents )...Sans créait 100 variables de type RectangleShape.
    Non.

    Tu veux afficher 100 entités, tu crées 100 variables de cet entité et appelle leur méthode draw.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    mars 2014
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : mars 2014
    Messages : 946
    Points : 2 495
    Points
    2 495
    Par défaut
    Citation Envoyé par Thinking Voir le message
    les carré ne s'affichent que pendant la boucle for et non à la fin de celle-ci (puisque les window.draw sont à l'interieur de la boucle for).
    En quoi est-ce un problème ?
    Pour afficher ton écran, tu dois faire un draw de tous les objets que tu veux afficher - avec une boucle for par exemple - et à la fin, tu fais un display de ton écran.

    Existe il donc une manière qui permettrait d'afficher 100 carrés à des positions differentes (en pouvant les faire bouger chacun à des endroits differents )...Sans créait 100 variables de type RectangleShape.
    Tu peux, si tu le veux, créer un seul objet RectangleShape, et le positionner/dimensionner/colorer comme il faut avant chaque appel à draw, mais si tu devras de toute façon stocker quelque part les données de positionnement.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    mai 2014
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2014
    Messages : 227
    Points : 160
    Points
    160
    Par défaut
    Pour autant de carrés je te conseil de tout stocké dans un VertexArray via des Vertex si c'est pour de l'affichage brut, sinon un simple vecteur de RectangleShape devrait suffire ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    vector<RectangleShape> v_rs;
    v_rs.pushBack( RectangleShape( *constructeur*) );

Discussions similaires

  1. Affichage sur plusieurs lignes d'une méthode toString
    Par Flophx dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 24/05/2006, 16h30
  2. affichage de plusieurs rectangles
    Par lechewal dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 02/05/2006, 18h52
  3. Réponses: 7
    Dernier message: 26/09/2005, 17h50
  4. Réponses: 2
    Dernier message: 09/10/2004, 11h35
  5. [DirectDraw7] Affichage de plusieurs image bmp
    Par SteelBox dans le forum DirectX
    Réponses: 3
    Dernier message: 24/04/2004, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo