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

  1. #1
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 288
    Points : 233
    Points
    233

    Par défaut (SDL_GetXState) Position d'un bmp

    Voila j'ais remarqué que SDL propose une fonction assez sympathique pour recueillir la position du curseur de la souris.Cette fonction se présente sous la forme :

    int x;
    int y;

    SDL_GetMouseState(&x,&y);

    Ainsi , on peut utiliser cette fonction notamment pour se faire un curseur " customisé ". Mais ce n'est pas de cela dont je veux parler.
    Je me suis penché sur cette fonction et je me suis posé une question : est il possible de recueillir la position d'un .bmp en utilisant cette bete fonction ?
    J'ais essayé multiples bricolages et je ne vois toujours pas comment faire...

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : mars 2006
    Messages : 1 992
    Points : 3 457
    Points
    3 457

    Par défaut

    Voila j'ais remarqué que SDL propose une fonction assez sympathique pour recueillir la position du curseur de la souris.Cette fonction se présente sous la forme :

    int x;
    int y;

    SDL_GetMouseState(&x,&y);

    Ainsi , on peut utiliser cette fonction notamment pour se faire un curseur " customisé ". Mais ce n'est pas de cela dont je veux parler.
    Je me suis penché sur cette fonction et je me suis posé une question : est il possible de recueillir la position d'un .bmp en utilisant cette bete fonction ?
    J'ais essayé multiples bricolages et je ne vois toujours pas comment faire...
    Non, certainement pas avec cette fonction...

    Mais je n'ai pas bien compris ce que tu voulais faire... récupérer la position d'une image que tu as affichée avec la SDL ? Ou récupérer la position d'une surface ? Ou autre ?

  3. #3
    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 : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : décembre 2005
    Messages : 5 121
    Points : 11 740
    Points
    11 740

    Par défaut

    Citation Envoyé par ironzorg
    Ainsi , on peut utiliser cette fonction notamment pour se faire un curseur " customisé ". Mais ce n'est pas de cela dont je veux parler.
    Je me suis penché sur cette fonction et je me suis posé une question : est il possible de recueillir la position d'un .bmp en utilisant cette bete fonction ?
    J'ais essayé multiples bricolages et je ne vois toujours pas comment faire...
    C'est une fausse question. Tout .bmp que tu afficheras a été fait par une fonction SDL ou par l'intermédiaire d'OpenGL.

    Au moment de faire l'affichage, tu as la position du .bmp affiché.

    Stocke le pour un usage futur.

    Ou n'ai-je rien compris à la problématique ?

    Jc

  4. #4
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 288
    Points : 233
    Points
    233

    Par défaut

    En fait je déclare le bmp comme étant une surface rectangulaire ( d'où le posPlayer.x=50; etc... ) et je voudrais que la position de cette surface soit stockée et actualisée à chaque mouvement du bmp.
    Exemple :
    SDL_Surface *player=NULL;
    SDL_Rect posPlayer;
    player=SDL_LoadBMP("./gfx/player.bmp");
    posPlayer.x=50;
    posPlayer.y=50;

    On considère la boucle qui fait se déplacer le personnage.
    Mon idée principale est de faire un truc du genre :
    if ( posPlayer.x == 52 )
    {
    une action ...
    }
    Seulement il faut d'abord que le prog récupère et estime posPlayer ...

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : mars 2006
    Messages : 1 992
    Points : 3 457
    Points
    3 457

    Par défaut

    A toi de le mettre à jour...
    De toutes façons, ta surface ne va pas se déplacer toute seule, il faut bien que ce soit toi qui lui indiques sa nouvelle position...

    Et j'ai l'impression que tu prend le problème à l'envers... Il ne faut pas que tu déduises la position de tes joueurs en fonction de l'image qui les représente, mais que tu les affiches en fonction de leur position...

  6. #6
    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 : 38
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : décembre 2005
    Messages : 5 121
    Points : 11 740
    Points
    11 740

    Par défaut

    Citation Envoyé par Eusebe
    A toi de le mettre à jour...
    De toutes façons, ta surface ne va pas se déplacer toute seule, il faut bien que ce soit toi qui lui indiques sa nouvelle position...

    Et j'ai l'impression que tu prend le problème à l'envers... Il ne faut pas que tu déduises la position de tes joueurs en fonction de l'image qui les représente, mais que tu les affiches en fonction de leur position...
    Entièrement d'accord. La position des joueurs est stockée quelque part et tu fait le rendu avec ces informations.

    Dans le code que tu montres, pour bouger le joueur c'est posPlayer qui serait modifié donc pas besoin d'estimer sa position...

    Regarde comment fonctionne le pong que j'ai fait. Cela te donnera sûrement les réponses que tu cherches :

    http://fearyourself.developpez.com/tutoriel/sdl/pong/

    Jc

  7. #7
    Membre actif Avatar de ironzorg
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 288
    Points : 233
    Points
    233

    Par défaut

    OK c'est bon j'ai identifié le probleme merci pour vos remarques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09
  2. Réponses: 2
    Dernier message: 30/05/2002, 10h19
  3. Réponses: 2
    Dernier message: 17/05/2002, 20h37
  4. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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