ou sinon aller à la source ;)
http://code.google.com/p/redtamarin/source/browse/trunk/src/core/Number.as
en direct de la VM Tamarin pour définir les const number
ils font
-----
// E262 {DontEnum, DontDelete, ReadOnly}
public static const NaN :Number = 0/0
public static const NEGATIVE_INFINITY :Number = -1/0
public static const POSITIVE_INFINITY :Number = 1/0
public static const MIN_VALUE :Number = 4.9e-324
public static const MAX_VALUE :Number = 1.7976931348623158e
+308
-----
mais bon hehe ce ne sont pas les vraies values pour les INFINITY
et voir aussi
http://code.google.com/p/redtamarin/source/browse/trunk/src/core/MathUtils.cpp
pour le détail du détail
et en particulier
double MathUtils::parseInt(const wchar* s, int len, int radix /*=10*/,
bool strict /*=false*/ )
http://code.google.com/p/redtamarin/source/browse/trunk/src/core/MathUtils.cpp#253
(oui parseInt ca n'y parrait pas mais c'est un gros morceau ;))
donc oui parseInt( "Infinity" ) ca ne marchera pas
mais le probleme n'est pas là amha
Infinity en soit n'a pas vraiment de valeur, c'est comme NaN
ce sont juste des symbols qui signifient "cette valeur est infinie",
"cette valeur n'est pas un nombre"
donc la solution con pour ton XML
c'est simplement de tester si la valeur est "infinity"
<root><item>infinity</item></root>
if( item == "infinity" )
{
return Number.POSITIVE_INFINITY;
}
ou sinon se baser sur le MAX_VALUE (1.7976931348623158e+308)
qui est bien plus "petit" que infinity mais qui est le plus grand
nombre que ActionScript puisse afficher et comprendre (en terme de
conversion toString)
cad
var a:Number = 1.7976931348623158e+308;
var b:Number = a + 1;
trace( a ); //1.79769313486231e+308
trace( b ); //1.79769313486231e+308
oui le 1 ne s'ajoute pas
maintenant faisons un autre petit test
var a:Number = 1.7976931348623158e+308;
var b:Number = 1.7976931348623159e+308;
^--- +1
trace( a ); //1.79769313486231e+308
trace( b ); //Infinity
et une maniere plus simple d'obtenir cette infinity c'est
var c:Number = 2e+308;
trace( c ); //Infinity
mais attention, meme si ca affiche Infinity
infinity n'a pas de reelle valeur
ca dit juste
"j'affiche infinity car je ne sais pas afficher un nombre plus grand
que 1.7976931348623158e+308"
et le gros problem (ou la bonne feature) avec ca c'est que dès que le
nombre est considéré "infinity"
on ne peut plus faire de calculs dessus, genre -1/+1
donc si c'est un cheat pour un jeu pour avoir des ammo infinis
c'est super suffit de bumper la valeur Number à infinity et meme
si il y a une logique pour faire -1 ammo à chaque fois qu'on tire
ce sera vraiment infini (vu que infinity ne peut pas etre décrémenté)
=)
zwetan
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de
Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---