首页 > 解决方案 > 三.SpriteCanvasMaterial 不是构造函数 | 角 7

问题描述

我正在使用 Angular 7 项目,我想使用 THREE 官方网站上的此文档代码将 THREE JS 添加到我的项目中,之后当我开始运行项目时,它向我显示如下错误:

core.js:15723 ERROR TypeError: THREE.SpriteCanvasMaterial is not a constructor
at init (<anonymous>:32:26)
at HTMLDocument.<anonymous> (<anonymous>:16:9)
at e (jquery.min.js:2)
at t (jquery.min.js:2)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:17289)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
at push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask (zone.js:496)
at ZoneTask.invoke (zone.js:485)

结果也不能正常工作。即使我的代码与实时站点中的示例相同,我也不知道是什么导致了此错误。我还添加了他们需要的脚本。

<script src="assets/js/threejs/three.js"></script>
<script src="assets/js/threejs/Projector.js"></script>
<script src="assets/js/threejs/CanvasRenderer.js"></script>
<script src="assets/js/threejs/stats.min.js"></script>

标签: javascriptangularthree.js

解决方案


https://threejs.live/不是项目官网。官方示例托管在这里:https ://threejs.org/examples/

CanvasRenderer已在R98一年多前删除。所以你不能再使用这种类型的渲染器和SpriteCanvasMaterial最新three.js版本了。

解决方案是使用WebGLRenderer. 链接的示例也可用作 WebGL 演示:https ://threejs.org/examples/webgl_points_waves

three.js R111


推荐阅读