【问题标题】:"Object is undefined" error, when trying to rotate object in three.js尝试在 three.js 中旋转对象时出现“对象未定义”错误
【发布时间】:2018-05-27 17:45:22
【问题描述】:

尝试在 three.js 中旋转对象时出现“对象未定义”错误。代码的sn-p:

var object;

function render() {
    renderer.render(scene, camera);
}

function animate() {
    object.rotation.x += 0.1;
    render();
    requestAnimationFrame(animate);
    controls.update();
}

【问题讨论】:

  • 嗯,从你发布的代码来看,你从来没有分配给它,所以是的,它应该是undefined,它还能是什么......?
  • 您能否进一步解释您的意思,例如。如何分配。对不起,我是菜鸟。
  • @Nuser0101 如何设置object 变量的值?请阅读minimal reproducible example。

标签: javascript animation error-handling three.js undefined


【解决方案1】:

为了简化问题,我只复习一下问题代码:

var object; // undefined
object.rotation.x += 0.1; //trying to access a key inside an undefined

在全局范围内声明 object 很好,但您只是声明它并没有将其分配给值。这意味着您正在尝试在 undefined 变量中查找键。

var object = {};
object.rotation.x += 0.1; // object.rotation is undefined

还是不够好。变量object 不具有名为rotation 的键。它是未定义的。您将尝试键入一个不存在的密钥。我不确定您的用例,但对于这个确切的场景,将object 分配为具有您需要的所有键的对象手动将解决您遇到的这个undefined 问题。

var object = {
    rotation: {
        x: 0
    }
};
object.rotation.x += 0.1;

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2022-07-20
    • 2013-08-01
    • 1970-01-01
    相关资源
    最近更新 更多