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