【问题标题】:Three.js - TypeError: THREE.Scene is not a constructor [closed]Three.js - TypeError:THREE.Scene 不是构造函数[关闭]
【发布时间】:2016-12-30 04:43:00
【问题描述】:

我只是在尝试 Three.js,所以我可以将它实现到我的项目中,但是当我运行文档中的第一个示例时:

<html>
    <head>
        <title>My first Three.js app</title>
        <style>
            body { margin: 0; }
            canvas { width: 100%; height: 100% }
        </style>
    </head>
    <body>
        <script src="three.js"></script>        
        <script>
            var scene = new THREE.Scene();
            var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );

            var renderer = new THREE.WebGLRenderer();
            renderer.setSize( window.innerWidth, window.innerHeight );
            document.body.appendChild( renderer.domElement );

            var geometry = new THREE.BoxGeometry( 1, 1, 1 );
            var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
            var cube = new THREE.Mesh( geometry, material );
            scene.add( cube );

            camera.position.z = 5;

            var render = function () {
                requestAnimationFrame( render );

                cube.rotation.x += 0.1;
                cube.rotation.y += 0.1;

                renderer.render(scene, camera);
            };

            render();
        </script>
    </body>
</html>

我收到此错误:

TypeError: THREE.Scene 不是构造函数

我尝试添加scene.js,但它在scene.js 中引发了另一个错误,所以它不起作用。我使用的是 r80 版本,听说文档中有一些无法使用的示例,但我不确定这里出了什么问题。

任何帮助将不胜感激。

【问题讨论】:

  • 您确定three.js 库的路径正确吗?如果你尝试去它会发生什么?尝试在错误中跟踪最终的 404
  • 是的,路径是正确的,整个东西都在我电脑的一个目录中。
  • 您能否仔细检查一下,这实际上是您正在以three.js 加载的文件:github.com/mrdoob/three.js/blob/master/build/three.js(即来自./build 文件夹的文件)。
  • 那行得通。我正在使用 src 文件夹中的那个。现在建造一个作品。谢谢你。您可以将此添加为答案以便我接受吗?

标签: javascript html three.js


【解决方案1】:

我也遇到了同样的问题,但是

三.MeshLambertMaterial

问题确实出现了,因为我写错了

THREE.MeshLamberMaterial 不带字母“t”

也许对某人有帮助:)

【讨论】:

    【解决方案2】:

    我遇到了这个问题,因为我打电话给 new THREE.scene 而不是 new THREE.Scene(大写 S!)

    【讨论】:

      【解决方案3】:

      如上面的 cmets 所述,问题在于页面中包含错误的 three.js-文件。您应该始终使用来自three.js 存储库的./build-文件夹中的文件,或者由cdnjs 托管的版本:https://cdnjs.com/libraries/three.js/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-05
        • 2013-08-26
        • 2017-03-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多