Очень неясно, в чем именно заключается ваша проблема / что вы пытаетесь сделать.
Но сначала шестнадцатеричное представление десятичного числа 16777215 10 - это FFFFFF 16 . Который белый ... Не красный (который будет FF0000 16 )
A uint
- это просто беззнаковое целое число. Это могут быть представлены основы.
16 10 = 20 8 = 10000 2 = 10 16 = G 17
Это все одно целое, просто разные способы их отображения, но для большинства языков программирования это одно и то же. Во флэш-памяти вы представляете буквенные шестнадцатеричные числа, используя обозначение 0x
. В JavaScript двоюродного брата ActionScript вы можете создать восьмеричный литерал, добавив к нему ноль (что серьезно иногда отбрасывает некоторых людей 010==8
)
Но вернемся к тому, что вы спрашиваете. Я проверил это очень быстро, и установщик textColor
объединит строку в uint, если вы дадите ей строку.
var tf:TextField = new TextField();
tf.text = "Test";
var color;
color = 0xFF0000; // Red
color = 16711680; // Red
color = "16711680"; // Red
color = "0xFF0000"; // Red
tf.textColor = color;
this.addChild(tf);
Это все приемлемые "красные", но на самом деле .textColor
хочет uint
, поэтому первые два являются наиболее действительными. Но 0xFF0000 == 16711680
. Это не «разные» числа ... Это одно и то же число, просто разные способы их выражения.
Итак, я не понимаю, в чем ваша проблема? Ваш код должен работать, и делать именно то, что вы сказали, чтобы сделать ...