“015015”与03是否相等,比较两个数字是否相等可用“”运算符:
trace01501503
结果为true,说明015015确实与03相等。接下去看看其他的浮点运算,0102与03是不是相等呢?通过代码来测试:
trace010203
结果为false,继续测试代码:
trace0102
结果的确显示03,可是“010203”结果仍然是flase。可以通过下面的代码来探究原因:
trace010203
结果是555111512312578e17,也就是相差大约5乘10的17次方。Flash里面的数字,整数计算没有误差,而浮点数计算总会出现误差。所以一定要避免程序因此而出现问题。整个应用程序可能由于某行代码的误差而失败。也就是说,能用整数的地方最好用整数。例如,对于浮点数,千万不能用“”判断两个数是否相等。如果是循环,用大于、小于。如果一定要判断浮点数相等的话,你应把“ab”用“ab1e15ab1e15”来代替,也就是要求a和b差别很小,而不是相等。出于上述理由,我们能用整数尽量用整数,即不需要进行浮点运算时,用i
t类型或ui
t类型。在程序中有时可能需要直接使用数字,这里特别要注意的是,即使直接使用的数字是整数,这个整数的数据类型还是Number类型,而不是i
t类型或ui
t类型。例如,在Java中,下面的结果是0。
varaNumber13
因为Java把1和3作为整数类型处理,两个整数相除的结果肯定是整数,但Actio
Script30是把1和3处理成Number类型,也就是说,13的结果不是0,而是033333。
25
Boolea
类型与Boolea
类
在一个游戏检测中,鼠标与游戏角色的位置关系只有两种,要么鼠标在游戏角色内,要么鼠标在游戏角色外,像这种非此即彼的数据用Boolea
类型表示。Boolea
类型的变量的取值用true或false表示,true或false也称为布尔值。例如,鼠标在游戏角色内为true,鼠标在游戏角色外就为false。
f数据类型
53
下面的代码声明了一个Boolea
类型的变量,并赋值为false,表示鼠标在游戏角色外:
varisTouchi
gBoolea
false
当Flash对Boolea
类型进行处理时,会把true转换为1,把false转换为0。下面的代码可测试出这个过程:
varisTouchi
gBoolea
falsetraceisTouchi
g0
输出结果为true,证明false在处理时确实被转换为0了。是比较运算符,可用于比较两个变量值是否相等。如果相等,则返回true;如果不相等,则返回false。前面用到的“”与“”是完全不同的,“”是赋值运算符,可以把一个数据赋值给变量。而“”是比较运算符,这里用于比较两个数据是否相等。
26
Stri
g类型与Stri
g类
r