IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Discussion :

Carte quadrillée : qu'utiliser ?

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut Carte quadrillée : qu'utiliser ?
    Bonjour,

    J'ai actuellement un projet personnel que je désire réaliser avec Qt. Je m'explique:

    C'est tout simplement une sorte de Tactical-RPG. Cela se résume en plusieurs choses, une map quadrillée (avec des cases carrés). Sur ces cases peut se trouver :
    1- Des unités (prenant chacune 1 voir 2 cases).
    2- Des décors.

    Pour être honnête je n'ai aucune idée de par ou commencer ou réellement comment m'y prendre. J'ai effectuer pas mal de recherches sur le net mais rien de réellement concluant. Je sais que dois utiliser QRect, QgraphicsView et QgraphicsScene, mais je ne sais pas vraiment comment m'y prendre. Si une âme charitable voulait bien m'aider je lui en serais vraiment gré.^^

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Je vous conseille de regarder dans les exemples / tutoriels de la documentation Qt.
    Sinon, vous pouvez aussi jeter un coup d'oeil sur le code joint à ce message, dans lequel il y a un essai simple de grille avec QGraphicsScene -> http://www.developpez.net/forums/d11...a/#post6331705
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut
    Bonjour,

    J'ai quelque peu regardé le projet mais il s'éloigne pas mal de ma conception. J'ai quelque peu codé et aimerai montrer ces ptits bouts de codes afin d'avoir votre avis et aussi des conseils par rapport aux différents bugs.

    Mon plus gros bug actuellement est le fait que mon painter ne s'active pas et je n'en sais pas trop la raison. Il fail au begin. Si quelqu'un a une solution^^.
    Fichiers attachés Fichiers attachés

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    La fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QList<QRectF>   square::drawGrid(QList<QRectF> *Grid, QGraphicsScene *scene, QWidget *BattleGround)
    ne retourne aucune valeur.

    Après, vous ne devriez ouvrir (begin) le painter qu'une seule fois, et non le nombre de cases que vous avez (soit, le paint.begin(), ne devrait pas être dans la fonction NewSquare()).
    De plus, la fonction NewSquare() porte un nom incorrect, sachant qu'elle ne fait que tu dessin (en théorie).

    Sinon, après erreur de compilation corrigée, il dessine une grille.
    De plus, la console affiche un tas de trucs intéressants:
    QPainter::begin: Paint device returned engine == 0, type: 1
    QPainter::setBrush: Painter not active
    QPainter::end: Painter not active, aborted
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut
    Bonjour,

    Tout d'abord je te remercie pour les réponses et les conseils. J'ai corrigé l'erreur que vous avez pointé au niveau du QList. Cependant pour le QPainter j'avais déjà remarqué l'erreur (du fait qu'il ne démarrait pas) mais je ne sais justement pas la cause. J'ai fait un petit test en incluant le QPainter dans le main et donc en ne le démarrant qu'une seule fois, et pourtant rien à y faire.
    Auriez vous une idée? Normalement QWidget est un QPaintDevice valide donc l'erreur doit venir d'autre part.

    Je remet en pièce jointe le projet corrigé.
    Fichiers attachés Fichiers attachés

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Pour pouvoir utiliser le QPainter(), il faut faire une surcharge de la fonction paintEvent().
    Comme on peut le voir ici: http://qt.developpez.com/doc/4.7/painting-basicdrawing/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/10/2010, 20h49
  2. Réponses: 1
    Dernier message: 01/06/2010, 11h40
  3. Programmation de jeux de cartes, quel language utiliser?
    Par Yukizora dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 20/05/2008, 00h28
  4. Réponses: 2
    Dernier message: 28/09/2007, 15h55
  5. Réponses: 1
    Dernier message: 25/11/2005, 22h30

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