Three.js - 类型错误:THREE.Scene 不是构造函数

新手上路,请多包涵

我只是在试用 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>

我收到此错误:

类型错误:THREE.Scene 不是构造函数

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

任何帮助,将不胜感激。

原文由 Murat Aykanat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 923
2 个回答

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

原文由 Martin Schuhfuß 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 duhaime 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题