PDA

Просмотр полной версии : Как сохранить в переменной шестнадцатиричное цисло?


this.create
07.07.2007, 02:50
Такое число нужно в частности для определения цвета в фильтрах. Само число относится к типу Number, но если его сохранить как:
var color:Number=0xFF3300 ,то оно сразу приводится к основанию 10 и в фильтре уже не тот цвет который был изначально(0хFF3300). Как передать через переменную шестнадцатиричное число?

iNils
07.07.2007, 03:08
А какая разница в каком формате число?

lowka
07.07.2007, 03:21
var color:Number = 12131;
var colorInHex:String = color.toString(16);
var tmp:String = "00000" + colorInHex;
var length:Number = tmp.length;
var result:String = "0x" + tmp.substring(length - 6, length);

trace(result);//0x002f63

this.create
07.07.2007, 03:22
Сейчас пример написал и увидел, что именно для этого случая не имеет значения. Можно в простом Number сохранять.
Вопрос снимается.

ps. Пользовательские классы осваиваю, вот с областями видимости не разобрался еще.

Kikasso
07.07.2007, 03:59
Вот на всякий случай:
function splitRGB( color:Number):Array {
var r:Number = (color >> 16);
var g:Number = (color >> 8) & 0xFF;
var b:Number = color & 0xFF;
return [r,g,b];
}
function joinRGB( r,g,b ){
return ( r << 16 | g <<8 | b );
}

etc
07.07.2007, 11:39
http://dev.etcs.ru/blog/as2/ru/etcs/draw/colorobject/