Partage
  • Partager sur Facebook
  • Partager sur Twitter

timer et plusieur paramètre

je m'en sort pas

    28 juillet 2006 à 13:43:49

    Bonjour à tous.

    J'ai codé une fonction qui gère les collision (7 paramètres!) et je voudrais faire un timer qui appelle cette fonction. j'ai tenté de faire comme Mathéo a dit mais ça marche pas très bien...

    le .h avec la fonction et la deffinition de la structure:


     typedef struct paramColl paramColl;
      struct paramColl
      {
     
      long surface1LongueurX;
      long surface1LongueurY;
      long surface2LongueurX;
      long surface2LongueurY;
      long collision;
      SDL_Rect  position1;

      SDL_Rect  position2;

      };

      Uint32 coll( Uint32 intervalle, void *parametre)
      {
         
         paramColl* param = parametre;
       
         
         
         SDL_Rect infGauche1 ;
         infGauche1.x = position1.x ;
         infGauche1.y = position1.y + surface1LongueurY;
         SDL_Rect infGauche2 ;
         infGauche2.x = position2.x ;
         infGauche2.y = position2.y + surface2LongueurY;
         SDL_Rect supDroit1 ;
         supDroit1.x = position1.x + surface1LongueurX ;
         supDroit1.y = position1.y ;
         SDL_Rect supDroit2 ;
         supDroit2.x = position2.x + surface2LongueurX ;
         supDroit2.y = position2.y ;
         if(infGauche1.x < supDroit2.x &&  infGauche2.x < supDroit1.x && infGauche1.y > supDroit2.y &&  infGauche2.y > supDroit1.y)
         {
           a->collision = 1;
           FILE* fichier = NULL;
          fichier = fopen("coll.txt", "w");
          fprintf(fichier, "oui");
         }
           else
           {
                FILE* fichier = NULL;
          fichier = fopen("coll.txt", "w");
          fprintf(fichier, "non, %ld %ld   %ld %ld   %ld %ld   %ld %ld", infGauche1.x, supDroit2.x,infGauche2.x , supDroit1.x, infGauche1.y , supDroit2.y ,infGauche2.y , supDroit1.y );
          }
      return a->collision;
      }


    Un passage de main:
    paramColl param;
        param.position1;
        param.position1.x = 10;
        param.position1.y = 11;
           param.position2;
           param.position2.x = 100;
           param.position2.y = 100;
       param.surface1LongueurX = 220;
       param.surface1LongueurY = 180;
       param.surface2LongueurX = 200;
       param.surface2LongueurY = 100;
       param.collision = 0;
    SDL_TimerID timer;
    timer = SDL_AddTimer(30, coll, &param); /* Démarrage du Timer */


    Maintenant les erreurs et leurs lignes:
         infGauche1.x = position1.x ;

    26 `position1' undeclared (first use in this function)



    C'est pareil pour les autre élément de la structure...


    Voilà j'espère que vous pouriez me répondre.

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      28 juillet 2006 à 13:54:51

      Direction -> le cours sur les structures

      au lieu de :
           infGauche1.x = position1.x ;


      tu aurai du mettre :
           infGauche1.x = param->position1.x ;


      De plus, qu'est ce que c'est que a->collision ? je ne le vois nul part ailleurs
      • Partager sur Facebook
      • Partager sur Twitter
        28 juillet 2006 à 13:56:30

        Effectivement mais c'est parce que avant je fesais avec les 7 paramètre et non une structure... Merci!
        • Partager sur Facebook
        • Partager sur Twitter

        timer et plusieur paramètre

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown