-
[AS2] les prototypes
salut,
je ne comprends pas trés bien comment marche les prototypes en flash.
je voudrai utiliser une fonction pour afficher un Number sur 2 décimales.
voila mon code dans la premiere frame :
Number.prototype.roundWith = function(num){
return Math.round(this * Math.pow(10, num))/Math.pow(10, num);
}
var n:Number = 15;
trace(n.roundWith(2));
Merci d'avance
-
Bonsoir,
Code:
Math.round(this * Math.pow(10, num))/Math.pow(10, num);
Ce this est une reference a la class Number et non pas le nombre.
Peut etre y a t il une propriété qui correspond a ton nombre.
ce lien pourra surement t'aider
-
en fait mon probleme est plus simple
je ne sais pas comment on definit un prototype...
ou faut-il ecrire le code du prototype ?
sur la premiere frame, j'ecris :
Number.prototype.roundWith = function(num){
return "blabla";
}
var n:Number = 15;
trace(n.roundWith(2));
et à la compilation, j'obtiens l'erreur suivante :
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 5 : La méthode nommée 'roundWith' n'existe pas.
trace(n.roundWith(2));
Total des erreurs ActionScript : 1 Erreurs signalées : 1
-
c'est le type qui n'est pas bon, tu dois le declarer comme ceci :
Number.prototype.roundWith = function(num) {
return "blabla";
};
var n = new Number(15);
trace(n.roundWith(2));
-
ha oui
c'est le ":Number" qui ne marche pas
merci pour ton aide