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 :

deplacement de la zone d affichage


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 27
    Par défaut deplacement de la zone d affichage
    bonjour

    probleme : j ai un tableau de sprites (exemple 20 x 20)
    ma zone d'affichage ecran est 10 x 10
    je souhaite decaler la zone d affichage pour donner un effet de scroll

    1/ suis-je obligé de recalculer tous les sprites ? ou y a t il une fonction dans sdl qui me permet de decaller la zone d'affichage de ma fenetre

    2/ sdl me permet il d afficher en plein ecran ? si oui qui peut me donner un code svp

    merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Par défaut
    Pour l'affichage pleine ecran c'est facile, il faut rajouter SDL_FULLSCREEN par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    screen = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE| SDL_DOUBLEBUF | SDL_FULLSCREEN);
    Pour le premier point je suis pas sûr de comprendre ce que tu veux faire, mais en gros tu peux jouer sur avec le clipping (découpage) des surfaces.

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par kirtap1969 Voir le message
    bonjour

    probleme : j ai un tableau de sprites (exemple 20 x 20)
    ma zone d'affichage ecran est 10 x 10
    je souhaite decaler la zone d affichage pour donner un effet de scroll

    1/ suis-je obligé de recalculer tous les sprites ? ou y a t il une fonction dans sdl qui me permet de decaller la zone d'affichage de ma fenetre
    Question classique de la programmation de JV.
    Il faut utiliser la technique du "clipping" je ne crois pas que SDL gère cela c'est à toi de le faire.
    En fonction de la zone d'affichage il faut redécouper le rectangle du sprite et afficher le rectangle résultant

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540

  5. #5
    Membre confirmé Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Par défaut
    Tu peux aussi tout simplement couper ton image, bliter le résultat sur une surface, puis ensuite tu n'auras plus qu'à scroller cette image ainsi tu n'auras pas besoin de redécouper le tout à chaque fois.
    J'espère t'avoir aidé

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Citation Envoyé par Jordinateur Voir le message
    Tu peux aussi tout simplement couper ton image, bliter le résultat sur une surface, puis ensuite tu n'auras plus qu'à scroller cette image ainsi tu n'auras pas besoin de redécouper le tout à chaque fois.
    Et avec SDL_SetClipRect c'est pas le cas ?

    Sets the clipping rectangle for a surface. When this surface is the destination of a blit, only the area within the clip rectangle will be drawn into.

    The rectangle pointed to by rect will be clipped to the edges of the surface so that the clip rectangle for a surface can never fall outside the edges of the surface.

    If rect is NULL the clipping rectangle will be set to the full size of the surface.

  7. #7
    Membre confirmé Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Par défaut
    Ba c'était une solution alternative et je penses "moins compliquée" d'un certain point de vue

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2007, 23h28
  2. [Zone liste] Affichage de quelque champ seulement
    Par issam16 dans le forum Access
    Réponses: 3
    Dernier message: 31/07/2006, 11h29
  3. [Débutant] Zone d'affichage multiligne
    Par The Wretched dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/12/2005, 12h18
  4. Réponses: 9
    Dernier message: 13/04/2005, 10h15
  5. [TComboBox] Contenu trop long pour la zone d'affichage
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2003, 16h21

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