GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

2 routines de tri pour 65xx

2 participants

Page 2 sur 2 Précédent  1, 2

Aller en bas

2 routines de tri pour 65xx - Page 2 Empty Re: 2 routines de tri pour 65xx

Message par Stef Mer 16 Jan 2019 - 14:10

Un bout de code vaut mieux qu'un (long) discours :

Code:
void SPR_setDepth(Sprite *sprite, s16 value)
{
    // depth changed ?
    if (sprite->depth != value)
    {
        // set depth and sort sprite (need to be done immediately to get consistent sort)
        sprite->depth = value;
        sortSprite(sprite);
    }
}

Tu vas me dire que c'est un peu lourd de tester à chaque fois qu'on a effectivement changé la valeur de depth mais franchement c'est gratuit en comparaison d'un sort inutile Wink
Et puis bon ainsi c'est simple et clair, le code est très facile à comprendre Wink

Stef
Interne
Interne

Nombre de messages : 5080
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

2 routines de tri pour 65xx - Page 2 Empty Re: 2 routines de tri pour 65xx

Message par Invité Mer 16 Jan 2019 - 14:35

Tu vas me dire que c'est un peu lourd de tester à chaque fois qu'on a effectivement changé la valeur de depth 
Non je ne critique pas,c'est par curiosité, et puis toutes les idées sont bonnes à prendre  Wink 

Ok je comprends mieux, Mais ensuite tu tris le sprite juste avec ses voisins de gauche et droite(je pense plus à cette solution), ou avec un tri classique ??

mais franchement c'est gratuit en comparaison d'un sort inutile
Ca c'est plus intéressant .
avatar
Invité
Invité


Revenir en haut Aller en bas

2 routines de tri pour 65xx - Page 2 Empty Re: 2 routines de tri pour 65xx

Message par Invité Mer 16 Jan 2019 - 15:13

popcorn
avatar
Invité
Invité


Revenir en haut Aller en bas

2 routines de tri pour 65xx - Page 2 Empty Re: 2 routines de tri pour 65xx

Message par Stef Mer 16 Jan 2019 - 16:18

Touko a écrit:
Tu vas me dire que c'est un peu lourd de tester à chaque fois qu'on a effectivement changé la valeur de depth 
Non je ne critique pas,c'est par curiosité, et puis toutes les idées sont bonnes à prendre  Wink 

Ok je comprends mieux, Mais ensuite tu tris le sprite juste avec ses voisins de gauche et droite(je pense plus à cette solution), ou avec un tri classique ??

Exactement, voir la méthode sortSprite que j'avais posté juste avant (car c'est celle-ci qui est appelée ici), du coup ça tri juste quand tu en as besoin. Et c'est facile d'alléger encore le traitement de sort. Par exemple t'es pas obligé d'aligner le depth sur le Y, tu peux faire un truc du style :

Code:
SPR_setDepth(sprite, (sprite.y >> 3));

La précision sur le depth est moindre mais en réalité on s'en fout, on a pas besoin d'avoir un depth au pixel près (enfin c'est rarement le cas), ici je prends un pas de 8 pixels Y pour 1 pas de depth, ça permet d'alléger le nombre de tri globalement et visuellement on s'en rend pas vraiment compte.. enfin y'a toujours moyen de trouver des astuces.
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5080
Age : 44
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

2 routines de tri pour 65xx - Page 2 Empty Re: 2 routines de tri pour 65xx

Message par Invité Mer 16 Jan 2019 - 18:46

C'est pas con !!
avatar
Invité
Invité


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum