gpt4 book ai didi

javascript - 从函数中提取参数并将其用作逻辑句子

转载 作者:行者123 更新时间:2023-12-02 23:57:57 25 4
gpt4 key购买 nike

我正在探索 THREE.js 并尝试其中的不同几何形状。因此,由于它有大量的几何图形,手动编写每一个几何图形太无聊了。

我必须编写这些行才能显示一个简单的立方体:

var material = new THREE.MeshNormalMaterial();
var boxGeometry = new THREE.BoxGeometry( 20, 20, 20 );
var box = new THREE.Mesh( boxGeometry, material );
box.position.set(-10, -10, 0);
scene.add( box );

要添加另一个圆锥体,我只需复制粘贴上面的行,然后将 Box 替换为 Cone 并且你知道这是我的计算机的工作(不是我的) )。人类不是为复制而生的:)

所以我想要一个通用的,之后我可以说:

var cube = new Shape('Cube', 20, 20, 20);
// or
var cone = new Shape('Cone', 20, 30);

&这可能会为我做其他所有事情,我可以从函数中提取参数,但是接下来该怎么办呢?说说如何将它们从字符串转换为逻辑语句?

最佳答案

使用括号表示法,您可以创建一个访问 Three.<word>Geometry 的函数,同时使用rest语法收集其他参数,然后将它们传播到构造函数中:

function makeShape(shapeName, ...args) {
var material = new THREE.MeshNormalMaterial();
var boxGeometry = new THREE[shapeName + 'Geometry'](...args);
var box = new THREE.Mesh( boxGeometry, material );
box.position.set(-10, -10, 0);
scene.add( box );
}

然后,只需调用该函数即可:

makeShape('Cube', 20, 20, 20);
makeShape('Cone', 20, 30);

如果您想将函数中创建的内容分配给 makeShape 的调用者,只是 return放在最后。

关于javascript - 从函数中提取参数并将其用作逻辑句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55294642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com