【发布时间】:2016-10-09 12:36:54
【问题描述】:
我最近重组了我的 three.js 项目,我开始遇到一个问题,即每个对象似乎都使用完全相同的几何图形和材质进行渲染。我在调试器中跟踪到这个构造函数的问题:
function Geometry() {
Object.defineProperty( this, 'id', { value: GeometryIdCount() } );
this.uuid = exports.Math.generateUUID();
...
Chrome 在Object.defineProperty 之后在this 对象上没有显示任何属性,当以后尝试使用它时,id 会返回为undefined。但是,当我调试使用three.js 制作的旧项目时,id 是在调用后在调试器中的this 上定义的。
什么会导致Object.defineProperty 什么都不做?最可能的罪魁祸首是我已经从使用来自 JavaScript 的 node.js require 调用切换到包含三个来自 Typescript 的 ES6 import 调用和 TS 编译器,但我不清楚为什么这会对这个构造函数。
【问题讨论】:
标签: javascript typescript three.js