使用CDN引入babylon.js时报错this.resize is not a function如何解决
问题解决方法
错误原因
报错的核心原因是你实例化BABYLON.Engine时遗漏了new关键字:BABYLON.Engine是类构造函数,必须通过new调用才会生成正确的引擎实例,直接调用会导致内部this指向异常,找不到resize方法。
修复方案
将代码中
const engine = BABYLON.Engine(canvas, true);
修改为
const engine = new BABYLON.Engine(canvas, true);
额外优化建议
- 建议添加窗口resize事件监听,避免画布拉伸变形:
window.addEventListener('resize', () => { engine.resize(); });
- 你当前创建的相机没有绑定控制目标,运行后可能没法操控视角,可以在创建相机后添加一行配置:
camera.attachControl(canvas, true);
内容的提问来源于stack exchange,提问作者Ruthvik
相关产品推荐
相关产品推荐

