Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme pour casse brique

    21 avril 2006 à 16:53:07

    Bonjour je suis en train de faire un casse brique et ma balle ne bouge que quand j'appui sur un touche du clavier comment ca se fait??


    code :

    while (continuer)
    {


    balle.vecteur.x=balle.vecteur.x+1;
    balle.vecteur.y=balle.vecteur.y+1;



    SDL_WaitEvent(&event);
    switch(event.type)
    {

    case SDL_QUIT:
    continuer = 0;
    break;
    case SDL_MOUSEMOTION:
    positionFond.x = event.motion.x;

    break;


    case SDL_KEYDOWN:
    switch (event.key.keysym.sym)
    {
    case SDLK_ESCAPE:
    continuer = 0;
    break;


    }
    break;



    }


    je sais que c'est a cause de SDL_waitevent mais je ne sais pas ou placer ma balle .
    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2006 à 17:00:24

      Merci d'utiliser la balise "code" pour mettre en forme les codes, comme expliqué dans ce post-it :
      http://www.siteduzero.com/forum-83-6661-regles-de-ce-forum.html

      Cela aura pour effet de "colorer" votre code et donc d'en faciliter grandement la lecture. Vous aurez ainsi beaucoup plus de chances d'avoir des réponses.

      Voici un exemple de code non coloré avec la balise "citation" (mauvais exemple) :

      Citation : Pas de titre

      int main(int argc, char *argv[])
      {
      long choixOperation;

      printf("Choisissez l'operation a effectuer \\n\\n");
      /* etc. */
      }



      Voici maintenant le même code coloré, si vous aviez utilisé la balise "code" (bon exemple) :

      int main(int argc, char *argv[])
      {
          long choixOperation;

          printf("Choisissez l'operation a effectuer \\n\\n");
          /* etc. */
      }


      C'est plus clair n'est-ce pas ? :)
      N'hésitez pas à éditer votre message pour changer la balise afin de colorer votre code.


      [Ceci est une réponse semi-automatique]
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        21 avril 2006 à 17:10:32

        M@téo ==> Tu as pris le code xHTML M@téo , les parenthèses , etc. ne se voient pas ^^


        Pour ton code, pourais tu le mettre entre la balise code et nous montrer plus (voir tout) le code

        A++ ;)


        [Ceci n'est pas une réponse semi-automatique :p ]
        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2006 à 17:11:05

          Waou... C'est vrai qu'avec les &#40, c'est vachement plus clair en vert m@teo21 :lol: .

          Mais oui, c'est vrai que moi aussi ça m'embête beaucoup de lire un code sans couleur... Lors de la création de ton message, ou de son édition, dans un menu déroulant appelé "code" tu prends C, et tu colles tout ton code entre les deux balises...
          Parce que là c'est un peu chiant à lire..
          • Partager sur Facebook
          • Partager sur Twitter
            21 avril 2006 à 17:15:58

            SDL_WaitEvent(&event); >> Fonction Bloquante ^^

            Utilise SDL_PollEvent(&event) je crois ^^
            Regarde dans le cours il en parle
            • Partager sur Facebook
            • Partager sur Twitter
              21 avril 2006 à 17:37:05

              Non non, regarde du côté de SDL_EnableKeyRepeat() (mais j'ai pas lu ton code, j'attends la merveilleuse coloration, comme indiquée par M@teo21, qui a toujours raison (sauf les petits points de son cours que j'ai signalé, n'est-ce pas :D)).
              • Partager sur Facebook
              • Partager sur Twitter
                21 avril 2006 à 17:47:04

                while (continuer)
                {


                balle.vecteur.x=balle.vecteur.x+1;
                balle.vecteur.y=balle.vecteur.y+1;



                SDL_WaitEvent(&event);
                switch(event.type)
                {

                case SDL_QUIT:
                continuer = 0;
                break;
                case SDL_MOUSEMOTION:
                positionFond.x = event.motion.x;

                break;


                case SDL_KEYDOWN:
                switch (event.key.keysym.sym)
                {
                case SDLK_ESCAPE:
                continuer = 0;
                break;


                }
                break;



                }


                Voila la couleur :D
                • Partager sur Facebook
                • Partager sur Twitter
                  21 avril 2006 à 18:00:20



                  balle.vecteur.x=balle.vecteur.x+1;
                  balle.vecteur.y=balle.vecteur.y+1;

                  Pourquoi pas
                  balle.vecteur.x++;
                  balle.vecteur.y++;

                  ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 avril 2006 à 18:39:47

                    il faut tout simplement faire bougé la balle quand le touche sont relevé (case SDL_KEYUP: ...)

                    ++
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 avril 2006 à 18:45:15

                      Citation : hayden

                      il faut tout simplement faire bougé la balle quand le touche sont relevé (case SDL_KEYUP: ...)

                      ++



                      Non.

                      SDL_WaitEvent "attend" un événement pour poursuivre.
                      Le fait qu'il n'y aie aucune activité n'est pas un événement pour SDL_WaitEvent.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 avril 2006 à 19:13:32

                        ben si c'est possible:

                        on lance la balle en faisant espace (lancer=1;)
                        quand on relache (lancer=0;) apres un petit if et c'est bon :)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        probleme pour casse brique

                        × 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