Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 三种颜色:未知颜色002dff(警告/错误)_Javascript_Three.js - Fatal编程技术网

Javascript 三种颜色:未知颜色002dff(警告/错误)

Javascript 三种颜色:未知颜色002dff(警告/错误),javascript,three.js,Javascript,Three.js,我需要在收到dat.GUI的值后更新颜色。 但是这个 var colored = new THREE.Color(value.replace("#","0x")); 正在抛出此警告。颜色:未知颜色0x002dff且“有色”未更新 值=002dff在当时,它不断变化,用户输入 编辑:我知道我可以将其用作THREE.Color 002dff,但颜色在运行时会根据使用dat.GUI创建的控件的用户输入而变化,因此我不知道可以添加到代码中的实际值 PS:是更换导致了问题。问题解决了。试试这个新的3.c

我需要在收到dat.GUI的值后更新颜色。 但是这个

var colored = new THREE.Color(value.replace("#","0x"));
正在抛出此警告。颜色:未知颜色0x002dff且“有色”未更新

值=002dff在当时,它不断变化,用户输入

编辑:我知道我可以将其用作THREE.Color 002dff,但颜色在运行时会根据使用dat.GUI创建的控件的用户输入而变化,因此我不知道可以添加到代码中的实际值


PS:是更换导致了问题。问题解决了。

试试这个新的3.colorFF00FF。如果你想为你的程序选择一种偏好的颜色。检查这个链接,你可以到photoshop,你可以选择颜色,它会显示颜色代码。

你必须给构造函数一个十六进制数,而不是字符串。尝试调用函数:

var colorValue = parseInt ( value.replace("#","0x"), 16 );
var colored = new THREE.Color( colorValue );
颜色有.setStyle方法

例如。three.js r85,dat.GUI 0.6.5


PS不要使用新的THREE.Color要更改材质的现有颜色,请使用setXXXXX THREE.Color方法

wow只需像new THREE.Colorfff000或其他方法一样传递它,如果可以的话。我提到该值是从dat.GUI生成的。您使用的Three.js版本是什么?在最新的版本r85中,它工作得非常好。我怀疑它是否能工作,因为dat.GUI返回字符串值,而颜色构造函数需要十六进制值@Hellium在他的评论中提到了这一点。看看我的答案,并检查它的示例,please.var colored=new THREE.Colorvalue.replace,0x;这就是我面临的问题,因为我需要在模块中添加if语句。如果该“条件”不是必需的,那么它已经在使用color.setHex。@UtkarshZaveri仔细阅读了THREE.color的构造函数,特别是在使用dat.GUI的上下文中有关CSS样式字符串和.setStyle方法的部分,让我检查一下。使用r85@UtkarshZaveri出于好奇,是否成功?只需使用var colored=new THREE.Colorvalue;在你的代码中的某个地方设置颜色,你就会知道我的问题了。为什么你没有投票权?这是我的!非常感谢。
var obj;
var gui = new dat.GUI();
var props = {
    color: '#002dff'
};
var colorController = gui.addColor(props, 'color');
colorController.onChange(
    function(value){
    // uncomment this to see it's working
    //var colored = new THREE.Color(value);
    //console.log(colored);
    obj.material.color.setStyle(value);
  }
);

var sphere = new THREE.Mesh(new THREE.SphereGeometry(2, 32, 24), new THREE.MeshStandardMaterial());
sphere.material.color.setStyle("#002dff");
scene.add(sphere);
obj = sphere;