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

SDL Discussion :

Drag and drop avec SDL et le langage C.


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Drag and drop avec SDL et le langage C.
    Bonsoir,

    Je développe un Mastermind en C avec la bibliothèque SDL.

    J'ai décidé de déclarer uniquement deux surfaces pour mon jeu: l'une affichera le fond d'écran avec le plateau (nous l'appellerons plateau) et l'autre affichera les pions (nous l'appellerons pion).
    Maintenant, pour placer les pions sur les pixels qui représentent les emplacements libres du plateau j'ai décidé de créer une fonction de drag and drop. Voici la procédure de cette fonction:
    Lorsque l'utilisateur clique avec le bouton gauche sur les pixels qui forment un pion, tu supprimes l'ancien emplacement du pion en collant la surface plateau sur celui-ci et tu colles la surface pion sur le pixel où se trouve la souris.

    Le problème vient quand je fais un drag and drop en passant sur un pion car il s'efface puisque je colle uniquement la surface plateau sur l'ancien emplacement du pion.
    Alors je me demande s'il n'y a pas un moyen pour coller un pion sur la surface plateau au lieu de le coller sur la surface principale que j'ai nommé screen.

  2. #2
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Citation Envoyé par GSébastien Voir le message
    Bonsoir,

    Je développe un Mastermind en C avec la bibliothèque SDL.

    J'ai décidé de déclarer uniquement deux surfaces pour mon jeu: l'une affichera le fond d'écran avec le plateau (nous l'appellerons plateau) et l'autre affichera les pions (nous l'appellerons pion).
    Maintenant, pour placer les pions sur les pixels qui représentent les emplacements libres du plateau j'ai décidé de créer une fonction de drag and drop. Voici la procédure de cette fonction:
    Lorsque l'utilisateur clique avec le bouton gauche sur les pixels qui forment un pion, tu supprimes l'ancien emplacement du pion en collant la surface plateau sur celui-ci et tu colles la surface pion sur le pixel où se trouve la souris.

    Le problème vient quand je fais un drag and drop en passant sur un pion car il s'efface puisque je colle uniquement la surface plateau sur l'ancien emplacement du pion.
    Alors je me demande s'il n'y a pas un moyen pour coller un pion sur la surface plateau au lieu de le coller sur la surface principale que j'ai nommé screen.
    Si:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SDL_BlitSurface(pion, &posPion, plateau, &posfinale);
    Mais alors la surface plateau sera définitivement changée.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Ok, et sinon la meilleure méthode est de créer des variables de type SDL_Rect pour chaque pions afin de blitter les pions et le fond d'écran si je glisse une surface sur ces surfaces?

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par GSébastien Voir le message
    Ok, et sinon la meilleure méthode est de créer des variables de type SDL_Rect pour chaque pions afin de blitter les pions et le fond d'écran si je glisse une surface sur ces surfaces?
    J'avoue n'avoir pas compris la problématique mais un SDL_Rect par pion serait la solution que j'adopterai pour ce type de problème.

    Jc

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Points : 41
    Points
    41
    Par défaut
    Pourquoi créer 2 surfaces ?
    Je pense que une suffit, une fonction s'occupe du dessin du plateau, une autre s'occupe de l'affichage des pions et des pions "dragged&dropped".

Discussions similaires

  1. [SWT/JFACE] Drag and drop avec une image sur le curseur
    Par soft-war dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 30/07/2008, 13h01
  2. Drag and Drop avec un JPanel
    Par scorplayer dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/05/2008, 19h35
  3. Réponses: 6
    Dernier message: 18/12/2007, 09h16
  4. [AJAX] Drag and Drop avec AJAX
    Par bonano dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/03/2007, 22h44
  5. "Drag and drop" avec directinput
    Par batosai dans le forum DirectX
    Réponses: 1
    Dernier message: 16/06/2004, 16h48

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