…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é