2 routines de tri pour 65xx
2 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: 2 routines de tri pour 65xx
Un bout de code vaut mieux qu'un (long) discours :
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
Et puis bon ainsi c'est simple et clair, le code est très facile à comprendre
- 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
Et puis bon ainsi c'est simple et clair, le code est très facile à comprendre
Stef- Interne
- Nombre de messages : 5087
Date d'inscription : 04/04/2007
Re: 2 routines de tri pour 65xx
Non je ne critique pas,c'est par curiosité, et puis toutes les idées sont bonnes à prendreTu vas me dire que c'est un peu lourd de tester à chaque fois qu'on a effectivement changé la valeur de depth
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 ??
Ca c'est plus intéressant .mais franchement c'est gratuit en comparaison d'un sort inutile
Invité- Invité
Re: 2 routines de tri pour 65xx
Touko a écrit:Non je ne critique pas,c'est par curiosité, et puis toutes les idées sont bonnes à prendreTu vas me dire que c'est un peu lourd de tester à chaque fois qu'on a effectivement changé la valeur de depth
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- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Page 2 sur 2 • 1, 2
Sujets similaires
» [ECH] livre BASIC plus 80 routines sur Commodore 64 contre autre livre c64
» Quels outils pour créer des graphismes et sprites 2D pour ANDROID
» A SUPPRIMER SVP -> [ESTIM] pour vente DRAGNO EGG boite etc pour Nec Pc Engine HuCard
» [Don] Code pour la Béta de Elders Scroll Online pour ce weekend
» [ESTIM] pour vente DRAGON EGG boite etc pour Nec Pc Engine HuCard
» Quels outils pour créer des graphismes et sprites 2D pour ANDROID
» A SUPPRIMER SVP -> [ESTIM] pour vente DRAGNO EGG boite etc pour Nec Pc Engine HuCard
» [Don] Code pour la Béta de Elders Scroll Online pour ce weekend
» [ESTIM] pour vente DRAGON EGG boite etc pour Nec Pc Engine HuCard
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum