当你的计算机无法获得正确的金额时,你知道这是一个错误!
我没有丝毫想到为什么会这样:
_root.attachMovie("clippy","aClip",_root.getNextHighestDepth()); trace("alpha 1 = "+aClip._alpha); aClip._alpha = 0; trace("alpha 2 = "+aClip._alpha); aClip._alpha += 20; trace("alpha 3 = "+aClip._alpha); aClip._alpha = 20; trace("alpha 4 = "+aClip._alpha);
输出是:
alpha 1 = 100 alpha 2 = 0 alpha 3 = 19.921875 alpha 4 = 19.921875
19.921875应该是20!:(
我要哭了.我的处理器有癌症吗?老年痴呆症?谁说电脑不犯错误?
PS我也使用了aClip._alpha = Math.round(aClip._alpha)但是跟踪是一样的!
_alpha
值存储为一个字节(我应该说8位-从一个整数值0
到255
)
设置_alpha
值时,使用百分比.检索它时,它会生成百分比的精确十进制表示.
aClip._alpha = 20;
20%
的256
就是51.2
,因为它存储为一个整数,它会被难倒来51
.
然后,
51 / 256 * 100
是Flash如何将它回馈给你,这是19.921875
.