面向对象JavaScript+;Three.js:OrbitControl不工作
我正在玩一些面向对象的JavaScript 代码:面向对象JavaScript+;Three.js:OrbitControl不工作,javascript,three.js,Javascript,Three.js,我正在玩一些面向对象的JavaScript 代码: 我的浏览器显示正确的输出,但OrbitControl似乎不起作用。你知道我该怎么做吗?在函数(非原型)中吐出轨道控件不是一个解决方案,因为我不会将变量传递到模型外部。您遇到的错误来自仅显示的一帧。 您需要使渲染循环递归。你有 requestAnimationFrame(ixmodel.render); 评论说。这将允许显示您的更新。取消注释,它应该可以工作。第75行,OrbitControls是一个有文档和窗口的浏览器吗?@fuyushimo
我的浏览器显示正确的输出,但OrbitControl似乎不起作用。你知道我该怎么做吗?在函数(非原型)中吐出轨道控件不是一个解决方案,因为我不会将变量传递到模型外部。您遇到的错误来自仅显示的一帧。 您需要使渲染循环递归。你有
requestAnimationFrame(ixmodel.render);
评论说。这将允许显示您的更新。取消注释,它应该可以工作。
第75行
,OrbitControls是一个有文档
和窗口
的浏览器吗?@fuyushimoya它是一个web应用程序,这是一个检查是否加载的调用。我对它进行了注释,因为它给了我一个[Error]类型错误:参数1('callback'))to DOMWindow.requestAnimationFrame必须是函数requestAnimationFrame(app.js,第70行)render(app.js,第70行)(匿名函数)(app.js,第84行)
error在if语句之外定义ixmodel。(等待给它一个值,直到它达到setTimeout)。用ixmodel.render()替换this.callback;如果仍然出现错误,可能是因为您使用了“use strict”。谢谢,但现在出现此错误:[error]TypeError:undefined不是对象(评估'ixmodel.render')render(app.js,第70行)(匿名函数)(app.js,第85行)
。我更新了代码库以匹配您的注释:您仍然覆盖在if语句之外声明的ixmodel。从语句中的ixmodel中删除'var'关键字。哦,在requestAnimationFrame()内的ixmodel.render上没有括号;当然谢谢你,伙计。现在我得到一个超过最大调用堆栈大小的错误。。。调查