用户:
抬头就是你查看:10 回复:5 评论:10 创建时间:2023-05-15T15:36:38
async function npc_const(x, Radius, Hint, Color) {
world.querySelectorAll('*').forEach((e) => {
if (e.id == x) {
let c;
Color == 'red' ? c = new Box3RGBColor(1, 0, 0) : null;
Color == 'green' ? c = new Box3RGBColor(0, 1, 0) : null;
Color == 'blue' ? c = new Box3RGBColor(0, 0, 1) : null;
Color == 'yellow' ? c = new Box3RGBColor(1, 1, 0) : null;
Color == 'cyan' ? c = new Box3RGBColor(0, 1, 1) : null;
Color == 'pink' ? c = new Box3RGBColor(1, 0, 1) : null;
Color == 'black' ? c = new Box3RGBColor(0, 0, 0) : null;
Color == 'white' ? c = new Box3RGBColor(1, 1, 1) : null;
e.enableInteract = true;
e.interactRadius = Radius;
e.interactHint = Hint;
e.interactColor = c;
}
})
};
求求啦。。。。
Chengxuyee_已退我把这段代码喂给chatgpt,他是这么说的
使用 world.querySelectorAll('*') 选择器查询所有元素时,可能会导致性能问题,因为它会遍历整个文档。如果你只想选择特定类型的元素,最好指定更具体的选择器。
在条件语句中使用了比较运算符 ==,但对于字符串比较,最好使用严格相等运算符 ===,以避免类型转换错误。可以使用 switch 语句来简化多个条件的判断。
修复后的代码如下:
javascript<button class="flex ml-auto gap-2">Copy code</button>async function npc_const(x, Radius, Hint, Color) { const elements = world.querySelectorAll('your-selector'); // 替换 'your-selector' 为要选择的特定元素类型的选择器 elements.forEach((e) => { if (e.id === x) { let c; switch (Color) { case 'red': c = new Box3RGBColor(1, 0, 0); break; case 'green': c = new Box3RGBColor(0, 1, 0); break; case 'blue': c = new Box3RGBColor(0, 0, 1); break; case 'yellow': c = new Box3RGBColor(1, 1, 0); break; case 'cyan': c = new Box3RGBColor(0, 1, 1); break; case 'pink': c = new Box3RGBColor(1, 0, 1); break; case 'black': c = new Box3RGBColor(0, 0, 0); break; case 'white': c = new Box3RGBColor(1, 1, 1); break; default: c = new Box3RGBColor(0, 0, 0); // 默认为黑色 } e.enableInteract = true; e.interactRadius = Radius; e.interactHint = Hint; e.interactColor = c; } }); 点赞0
评论