您知道这很麻烦-当您的计算机无法获得正确的款项时!
我完全不知道为什么会这样:
_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! :(
我要哭了。我的处理器患有癌症吗?老年痴呆症?
谁说计算机没有犯错误?
P.S.我还使用了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
。
关于flash - 我的电脑很笨。 0 + 20 = 19.921875 !!!帮我!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373532/