1

次のコードが四角形を完全に透明に描画するのはなぜですか?

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

beginFill がアルファなしの引数、つまり 0xRRGGBB を取ることは承知していますが、アルファを持つことは完全な白以外の色で機能します。たとえば、0xFFFFFFFE の場合は問題なく動作します。完全な白の場合は、どこでも 0x00FFFFFF と AND する必要があり、面倒です。

この動作に論理的な理由はありますか?

4

1 に答える 1

3

入力値が 0x00RRGGBB であると予想される場合、値 >= 0x01000000 を渡すことは有効な入力ではありません。おそらくこれは、誰かが透明の定数値を渡した場合に塗りつぶしをスキップするようにコードにハッキングされたものです。

于 2012-05-26T13:06:10.277 に答える