我用十六进制值
设置几何颜色RichGeometry.prototype = new THREE.Geometry();
RichGeometry.prototype.constructor = RichGeometry;
function RichGeometry(c) {
c = typeof c !== 'undefined' ? c : 0x00C020; // color
THREE.Geometry.call(this);
this.color = c;
}
但是当我从创建的对象中获取值时,它会返回一个像这样的16711680的RGB值。为什么?我如何获得HEX值?
var geometry0 = new RichGeometry(0xff0000);
console.log(geometry0.color);// it returns rgb value like this 16711680
答案 0 :(得分:1)
您可以将颜色存储为THREE.Color
的实例:
THREE.Color
然后,您可以使用var geometry0 = new RichGeometry(0xff0000);
console.log('0x' + geometry0.color.getHexString());
上的方法检索颜色的不同表示。对于您的示例,请尝试:
$ sudo nano /etc/mysql/my.cnf
答案 1 :(得分:0)
使用0xff0000时,它表示整数(即16711680),与使用字符串“0xff0000”时不同。所以取决于你想做什么。
答案 2 :(得分:0)
> foo = 16711680
16711680
> '0x'+foo.toString(16)
'0xff0000'
将数字转换为十六进制字符串并添加“0x”
你可能想把它包装在一个getter中:
this.__defineGetter__('color', function(){
return '0x'+this.color.toString(16)
});