Threejs几何颜色

时间:2015-04-23 16:29:51

标签: javascript three.js

我用十六进制值

设置几何颜色
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

3 个答案:

答案 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)
    });