Javascript 如何比较对象';s颜色属性| Three.js

Javascript 如何比较对象';s颜色属性| Three.js,javascript,three.js,Javascript,Three.js,我知道如何设置对象颜色属性的值,但我无法检查相同的值。 我需要比较对象网格的颜色,以便在条件为真时可以操纵它 基本代码: object.traverse( function( child ) { if ( child instanceof THREE.Mesh ) { child.castShadow = true; child.material.color.set(0x00ff00); if ( child.material.colo

我知道如何设置对象颜色属性的值,但我无法检查相同的值。 我需要比较对象网格的颜色,以便在条件为真时可以操纵它

基本代码:

object.traverse( function( child ) { 
    if ( child instanceof THREE.Mesh ) { 
        child.castShadow = true;
        child.material.color.set(0x00ff00);
        if ( child.material.color == '0x00ff00' )   {  //this comparison check
            child.material.color.set(0x0000ff);
        }
    } 
} );

此比较是否正确,或者是否有其他方法检查此属性的值?

您可以使用如下模式比较颜色:

var color = new THREE.Color( 0xff0000 ); // create once and reuse if needed

console.log( material.color.equals( color ); );

three.js.r85

您可以使用如下模式比较颜色:

var color = new THREE.Color( 0xff0000 ); // create once and reuse if needed

console.log( material.color.equals( color ); );

three.js.r85

我忘记了“等于”方法。非常感谢。这有帮助。我忘记了“相等”方法。非常感谢。这很有帮助。