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

 C Discussion :

collision masque rouge


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut collision masque rouge
    bonjour a tous,
    je débute dans le C et je tente de faire un petit jeu 2D,
    tout se passe bien jusqu'au moment ou je dois m'occuper de collisions.

    imaginons que j'ai une fenêtre blanche avec un carré vert au milieu,
    et qu'un petit personnage puisse marcher dans le blanc et pas le vert (c'est un exemple simple bien sur mon jeu n'est pas résumé a ça )

    j'ai créé un masque rouge du carré pour dire: si la couleur du pixel est rouge, le personnage ne peut pas y aller.

    j'ai fait un code (avec un peut d'aide) mais il ne marche pas :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SDL_Surface *masque= NULL ;
    const uint32 rouge = SDL_color(255,0,0);
    masque= SDL_LoadBMP("masque.bmp");
     
    [...]
     
    if(get_pixel_color(masque, position.x, position.y) == SDL_color(255,0,0) )
    {
     
    }
    else
    {
        position.x++;
    }
    a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const uint32 rouge = SDL_color(255,0,0);
    le compilateur dit "syntax error before rouge"
    mais si je supprime "uint" (qui je vous l'avoue je ne sais pas a quoi il sert) il me dit que SDL_color est indéfini.

    et pour finir il me dit aussi que GetPixelColor est indéfini, ceci dis je ne suis pas sur du nom de la fonction.
    (comme vous avez peu le voir je travail avec la SDL)

    une aide ne serais pas de refus
    merci a tous et bonne journée

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Es-tu sûr au moins que le type "uint32" est déclaré quelque part ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    en effet uint32 n'est pas déclaré,
    il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef unsigned int Uint32;
    ?

    d'ailleurs je viens de remarquer qu'il manquai la majuscule a Uint32

  4. #4
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut
    c'est peut etre la meme chose pour ta fonction getPixelColor(). Il te manque peut etre le include qui va bien.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    enfaite même en ajoutant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef unsigned int Uint32;
    j'ai la même erreur :/
    (syntax error before "rouge")

  6. #6
    Scorpi0
    Invité(e)
    Par défaut
    T'as ajouté ta ligne ou ?
    Si tu as mis le typedef dans un header, penses ensuite à inclure ton header dans le fichier source.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Par défaut
    typedef et placé juste au dessus du const,
    tout dans le main.c

Discussions similaires

  1. Un masque de collision pour les jeux
    Par gorkylenain dans le forum JavaFX
    Réponses: 5
    Dernier message: 10/12/2013, 05h20
  2. algorithme de collision 3D
    Par chetropinchuste dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 14/02/2010, 13h16
  3. [TChart] comment remplir un histogramme avec du rouge strié.
    Par :GREG: dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 09h37
  4. Bas les masques
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 03/07/2002, 17h05
  5. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

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