为什么0xFFFFFFFF的填充是透明的?

时间:2012-05-26 13:02:52

标签: actionscript-3 flash

为什么以下代码将矩形绘制为完全透明?

graphics.beginFill(0xFFFFFFFF);
graphics.drawRect(0, 0, 100, 100);
graphics.endFill();

我知道beginFill接受一个没有alpha的参数,即0xRRGGBB,但是alpha可以用于除全白之外的任何颜色。例如,它适用于0xFFFFFFFE。 对于全白,你必须在任何地方与0x00FFFFFF进行AND,这很烦人。

这种行为是否有合理的原因?

1 个答案:

答案 0 :(得分:3)

如果输入值预期为0x00RRGGBB,则传入值> = 0x01000000只是无效输入。如果有人传递透明的常量值,可能会被黑客入侵代码以跳过填充。