【发布时间】:2020-04-07 23:32:51
【问题描述】:
所以我有一个颜色选择器,它以这种格式输出颜色:FFA6A6。它是来自 jscolor.com 的插件。当我用颜色选择器改变它时,我正在使用 three.js 来改变它的颜色。然而,three.js 需要 0xFFA6A6,不仅如此。最重要的是,我不能将 0x 连接到 FFA6A6,这将使它成为一个字符串。此外,它将颜色输出为字符串,我似乎无法将其从字符串中删除
例如:“FFA6A6”到 FFA6A6
如何将 FFA6A6 更改为可以识别为 three.js 颜色的东西?这就是我所拥有的:
function updateNoseColor(){
scene.remove(nose);
var geometry = new THREE.ConeGeometry( .4, 1, 32 );
var material = new THREE.MeshBasicMaterial( {color: document.getElementById("nosecolor").value} );
//three.js cannot take a string as a value, so im not sure what to do
var nose = new THREE.Mesh( geometry, material );
scene.add(nose);
}
感谢您抽出宝贵时间,可能有一个我不知道的非常简单的解决方案。同样,问题是删除引号,并将其添加到 0x
谢谢!
编辑:我尝试使用 ParseInt 转换为小数,three.js 不接受它
【问题讨论】:
-
你可以使用
parseInt,只要确保你在前面加上0x。0xFFF === parseInt('0xFFF')将评估为 true。 -
@DrewSnow 那也不行
-
当我在控制台中找到它时它会返回:Color {r: 0.4196078431372549, g: 1, b: 0.7529411764705882}
-
@UnityDude 您在粘贴箱中添加了 JavaScript 代码。您也可以添加您的 HTML 代码吗?也许使用jsfiddle.net?
标签: javascript colors three.js