…bien utiles pour des scrollbars (entre autre).
Qui ne s’est jamais pris la tête avec des scrollbars dans Flash ? Quand il faut calculer le ratio entre les positions du contenu et du bouton de scroll… Pour peu que la taille de la scrollbar soit différente de celle du conteneur, on s’en arrache vite les cheveux.
Bit-101 a transcrit en AS3 trois méthodes provenant d’un livre sur Processing.
normalize(value, min, max) prend une valeur comprise dans un intervalle min - max et la convertit en une valeur comprise entre 0 et 1. La valeur de départ peut dépasser les bornes de l’intervalle.
interpolate(value, min, max) prend une valeur normalisée (comprise entre 0 et 1) et renvoie la valeur correspondante dans l’intervalle min - max.
map(value, min1, max1, min2, max2) prend une valeur et un intervalle de départ (min1 - max1) et renvoie la valeur correspondante dans l’intervalle min2 - max2.
L’article original de Bit-101
Et la petite classe as3 :
package { public class NumberUtils { public static function normalize(value:Number, minimum:Number, maximum:Number):Number { return (value - minimum) / (maximum - minimum); } public static function interpolate(normValue:Number, minimum:Number, maximum:Number):Number { return minimum + (maximum - minimum) * normValue; } public static function map(value:Number, min1:Number, max1:Number, min2:Number, max2:Number):Number { return interpolate( normalize(value, min1, max1), min2, max2); } } }


14 mai 2008 à 22:24
merci !
la fonction map() peut s’avérer forte utile
15 mai 2008 à 8:53
wowowowe le nouveau thème.
27 juin 2008 à 22:54
aaah yes le max peut être infèrieur au min pour maper à l’opposé
10 février 2009 à 15:48
Une autre solution pour les scrollbars consiste a utiliser les composants Flex dans flash. On dispose alors de maximums (je suis pas sur de la syntaxe mais c’est qqchse du genre maxVerticalScrollPosition et maxHorizontalScrollPosition). +1 pour ce livre sur Processing, je l’ai acheté il y a peu et c’est une excellente source d’inspiration.
9 avril 2009 à 13:49
C’est génial !!! J’ai fait pas mal de Processing et comme je suis assez nouveau en AS 3, ces précieuses fonctions me manquaient cruellement, surtout pour gerer les coords en flash c’est juste trop pratique. Hop, dans la tool box