Annonce

Réduire
Aucune annonce.

[DEV] pour les nuls

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Bon, j'ai corrigé la ligne :

    write_sprite_data(60, 60, 15, 255, 1, 1, (const PTILEMAP)&chunli[animation * 3]);

    ...

    /* Ensuit il suffit de faire varier la variable animation pour animer le sprite */
    if(!(vbl_count%6)) { /* toutes les 6 vbl */
    if(animation < 3) /* 4 étapes d'animation */
    animation = animation + 1;
    else
    animation = 0;
    }

    Résultat : il affiche 2 tiles sur les 4 de mon sprite et il affiche aussi le tile haut/gauche du sprite ballon (mouais) .

    Il faut que je comprenne cette variable animation.

    Edit :

    write_sprite_data(60, 60, 15, 255, 1, 1, (const PTILEMAP)&chunli[animation * 8]);

    J'ai mis 8 à la place du 3, car je pense que ça lui signale qu'il faut lire 8 px par 8 px (??). Je n'ai plus le tile de ballon qui apparait, mais je n'ai que l'image 1 sur les 4 qui apparait :



    edit :

    CeL, ici, tu mets qu'il y a 9 animations dans ton sprite chunli :

    write_sprite_data(60, 120, 15, 255, 8, 8, (const PTILEMAP)&chunli[animation * 8]);

    /* Ensuit il suffit de faire varier la variable animation pour animer le sprite */
    //if(animation < 9) /* 9 étapes d'animation */
    // animation = animation + 1;
    //else
    // animation = 0;

    alors que j'en compte 10 :




    Tu comptes comment : de 0 à 9 (10 images), ou il y en a une qui saute ?

    Ou alors, une étape d'animation, c'est entre les images de chunli, soit 9 étapes (les traits jaunes quoi).

    Ça ne change rien à mon problème aussi.

    J'ai ralenti l'affichage pour espérer trouver quelque chose : j'ai l'impression que seul la première "image" du sprite s'affiche, puis j'ai un tile noir (carré noir complet), puis 2 "temps" de vide, puis ça recommence.

    Ça vient peut-etre de la palette. Faut-il précisemment 16 couleurs, ou on peut en avoir moins ? Ici, il y en a 4 avec la transparente.

    J'ai mis mon sprite sur le n°24 pour voir si ce n'était pas un chevauchement (??) de sprite, mais ce n'est pas ça.


    Gniiiiiiiiiiiiiiiiiiiiii j'ai trouvé : c'est pas 8 qu'il faut mettre ici, mais 1, car mon sprite fait 1 tile de côté :

    write_sprite_data(60, 60, 15, 255, 1, 1, (const PTILEMAP)&chunli[animation * 1]);

    Le 1 correspond à la largeur en tile du sprite animé.
    Dernière modification par chacha, 06 juillet 2012, 09h43.

    Commentaire


    • J'espère qu'avec une image ca sera plus clair



      Concernant la boucle for :
      Il y a bien 10 images (0 à 9)
      La boucle for fera varier 'animation' tant que animation < 9 soit :

      Si animation = 0 => animation +1 = 1
      Si animation = 1 => animation +1 = 2
      ..
      Si animation = 8 => animation +1 = 9
      Si animation = 9 (ne remplit pas la condition <9) => animation = 0

      On a bien les 10 valeurs de 0 à 9.

      Par contre ça c'est du C pur, tu peux pas t'en sortir sans apprendre la langage.


      Envoyé par chacha Voir le message
      Bon, j'ai corrigé la ligne :

      write_sprite_data(60, 60, 15, 255, 1, 1, (const PTILEMAP)&chunli[animation * 3]);
      ici dans ton write_sprite_data tu mets 1,1 donc ton sprite fait 16x16, donc la largeur est 16 ?
      Si ta largeur est 16, tu dois multiplier animation par la largeur de ton image en nombre de tiles(2 dans mon exemple = 32pixels), or tu as mis 3 donc 48pixels

      Commentaire


      • Envoyé par chacha Voir le message
        Ça vient peut-etre de la palette. Faut-il précisemment 16 couleurs, ou on peut en avoir moins ? Ici, il y en a 4 avec la transparente.
        Pour le nombre de couleurs, ton image peut avoir de 3 à 16 couleurs.
        2 couleurs ça ne marche pas, si tu faits un sprite en noir et blanc, tu devras ajouter une 3eme couleur inutilisée dans ta palette.

        Commentaire


        • Ajout de mon sprite raquette, qui ne peut se déplacer qu'horizontalement :



          La boule blanche, c'est mon sprite super môche animé (je peux pas vous le montrer, IMAGESHACK ne veut pas de ma vidéo; vous êtes triste, hein).



          J'attaque le déplacement de la boule. Là, on va se marrer .
          Dernière modification par chacha, 06 juillet 2012, 16h05.

          Commentaire




          • Bon, là, il n'y a pas de collisions avec la raquette, ni de changement d'angle de balle. C'est juste pour fixer une étape.

            Ce qui est fait :

            - raquette bouge horizontalement;
            - raquette ne sort pas de l'écran;
            - balle est animée (ça ne se voit pas ^^ );
            - balle bouge toute seule et rebondit.

            Prochaine étape :

            - détection de colision avec raquette;
            - changement d'angle (donc insertion d'angles dans les déplacements de balle) en fonction de la colision avec raquette.
            Dernière modification par chacha, 06 juillet 2012, 18h26.

            Commentaire


            • Hum y a des ralentissements



              Envoyé par chacha Voir le message
              - balle est animée (ça ne se voit pas ^^ );
              Fait nous un gif !

              (si tu sais comment faire et si tu n'es pas obligé d'ouvrir un topic pour ça )

              Commentaire


              • Envoyé par nogo Voir le message
                (si tu sais comment faire et si tu n'es pas obligé d'ouvrir un topic pour ça )


                Je précise que c'est plus fluide en vrai bien sur.

                Faut que j'essaie avec le bg en plus petit, qui ne couvre pas tout l'écran. Ou pas de bg du tout d'ailleurs, mais ça, ce n'est que du détail.

                Le vrai problème est la détection des collisions entre la raquette, la balle et les éventuels briques à détruire.

                Ensuite, comment faire une animation en fonction d'un évènement : une brique qui explose quand elle est touchée, la raquette qui change de couleur quand elle touche la balle, la raquette qui explose quand elle rate la balle..... Et les bruits bien sûr.


                Mais le coeur du problème est la détection des collisions, quelque que soit le jeu en fait : shoot, casse-brique, plate-forme... détection détection .


                Je reprends mes périnigrations au mois d'aout.
                Dernière modification par chacha, 08 juillet 2012, 08h22.

                Commentaire


                • Bon, les gars, je pars en congés vendredi.

                  Je ne vais pas me lancer dans de nouvelles aventures de programmation d'ici là (j'ai une idée pour le déplacement de ma balle, mais shuuuut......).

                  Donc je voudrais, d'ici jeudi, réussir à créer ma rom directement dans le bon répéertoire en faisaint make.

                  Est-ce possible ?

                  makeroms sert à quoi ? d'après son nom, ça sert à créer la rom (nooooooon ???????), mais ça foire aussi.

                  La suite dans quelques instants.

                  Commentaire


                  • A chaque make, j'ai dans le fichier rom de mame un fichier zia..... (les ..... sont des chiffres) qui se crée.

                    Le make doit l'utiliser après ?

                    On fait bien le make avant le makeroms ?

                    A l'ATTAAAAAAQUE :

                    - voici le répertoire c:\mame\roms :

                    vous voyez dedans les fichiers "zia..." créés.



                    Il manque peut-être les .bin qu'il ne fait pas (les v1 et m1 pour compiler le tout).

                    Nouvel essai ce matin :

                    make-makeroms :

                    je mance dans mame :



                    Le makerom :



                    Jusqu'à :

                    copy %GAME_ID%-*.bin %romdir%\%ROM_NAME%.SRC\

                    ça doit fonctionner car j'ai bien les 4 .bin de créés dans c:\mame\puzzledp.src

                    Ensuite, il fait quoi ? Je ne comprend pas la ligne avec les zip. Faut-il que je mette les m1 et v1 dans c:\mame\puzzledp.src pour que le "zippage" fonctionne ? J'essaie.

                    Et ça donne ça :



                    Par contre, j'ai un fichier zia07904 qui s'est créé. :( .

                    Après un nouvel essai avec ce que je fais d'habitude (qui fonctionne), je suis sur que ce n'est pas grand chose :

                    Voici ce que je fais :

                    - make

                    - les 4 .bin (c 1 c2 p1 s1) sont créés dans c:\mame\roms\puzzledp.src

                    - je copie/colle ces 4 .bin dans un fichier autre; dans ce fichier, il y a les m1 et v1 qui ne sont pas créées ni modifiées.

                    - je crée le .zip en sélectionnant les 6 .bin, clic droit et "Ajouter à l'archive" avec un .zip.

                    - la rom puzzledp.zip est crée dans ce fichier autre.

                    - je le coupe/colle dans c:\mame\roms\

                    - je lance mame et ça roule.



                    Mes fichiers :

                    c:\mame
                    c:\mame\roms
                    c:\tuto1
                    c:\neodev
                    Dernière modification par chacha, 09 juillet 2012, 11h15.

                    Commentaire


                    • Code:
                      ### Creation P1 Prog. Principal  #
                      ### Creation C1 et C2            #
                      ### Creation S1                  #
                      ### Creation V1                  #
                      ### Creation M1                  #
                      Envoyé par chacha Voir le message
                      ça doit fonctionner car j'ai bien les 4 .bin de créés dans c:\mame\puzzledp.src

                      Commentaire


                      • Cosmos 1999, ma série préférée

                        (ouais c bon, c'est ST )

                        Commentaire


                        • Envoyé par HPMAN Voir le message
                          J'suis mort de rire, car je ne vois pas de quoi tu parles

                          Je suis consternant

                          Croyez-bien que je cherche.
                          Dernière modification par chacha, 09 juillet 2012, 13h35.

                          Commentaire


                          • 1 -> ### Creation P1 Prog. Principal #
                            2 -> ### Creation C1 et C2 #
                            3 -> ### Creation S1 #
                            4 -> ### Creation V1 #
                            5 -> ### Creation M1 #

                            Commentaire


                            • Mais arrêtez de me parler en code, je suis un être humain, je ne suis pas un programme (---> oscar du meilleur topiqueur 2012 (aurez-vous remarqué la subtile allusion topiqueur et , avec le marteau ? Marteau-topiqeur...marteau-piqueur. Elle est pas mal celle-là )).

                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je comprends pas
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              je vais comprendre
                              Dernière modification par chacha, 09 juillet 2012, 13h46.

                              Commentaire


                              • P'tain Chacha à ton retour de congés tu auras tout oublier tu sais

                                Commentaire

                                Chargement...
                                X