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

GTK+ avec C & C++ Discussion :

GTK superposition d'image


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 36
    Par défaut GTK superposition d'image
    Bonsoir à tous amis programeurs !! ^_^

    Voila mon problème :
    Je souhaite réaliser un jeux de l'oie, jeux classique ! En GTK obligatoirement (volonté personnelle).
    J'ai pensé à deux solution mais le problème principal est le même comment prépositionner des images en GTK.

    Sois je met une grande image qui représente le plateau de jeux, et les pions se déplaceront dessus.
    Sois je met une table et j'accroche 63 images (qui formeront le plateau à 63 cases), et la pareil j'aurais besoin de superposer des images pour que les pions avance sur le plateau.

    Voila si quelqu'un peut éclairer ma lanterne ^_^ Merci d'avance ;-)

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Quelque soit la solution choisie, il faudra que tes images gèrent le canal alpha, c'est à dire la transparence.

    Si tu pars sur l'utilisation d'un GtkDrawingArea, dans le callback associé au signal "expose-event" tu dessines ton plateau. Une fois fait, tu dessines les images des pièces. Ces images devront disposer de l'information de transparence.

    Si tu choisis les GTkTable, il faudra construire pour chaque bouton une image composée d'une partie du plateau avec en superposition la pièce qui doit toujours avoir l'information de transparence. Pour faire ca il faut passer par les GdkPixbuf. Regarde la faq à ce sujet.

    Je te conseille vivement la première solution. Beaucoup plus facile à mettre en œuvre.

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Je vote aussi pour la première solution (une image du plateau de jeu, affichée dans une GtkDrawingArea). Tu ne stockeras que les coordonnées relatives de chaque case, afin de pouvoir gérer le déplacement des pions d'une case à l'autre.

    Ensuite utiliser cairo pour dessiner le plateau, les pions (avec la couche alpha pour la transparence). La fonction gdk_cairo_create te permettra d'avoir un contexte cairo opérationnel dans lequel dessiner dans la callback du "expose-event" de ta GdtDrawingArea.

Discussions similaires

  1. Superposition d'images semi-transparentes
    Par Celelibi dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 13/12/2006, 15h30
  2. Réponses: 4
    Dernier message: 06/12/2006, 10h29
  3. [CSS] lien dans un div avec superposition d'image
    Par avogadro dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/07/2006, 10h10
  4. Position et superposition d'images
    Par Flodelarab dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/01/2006, 14h37
  5. Superposition d'image
    Par Cpt.Spiff dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 27/05/2005, 23h58

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