Three.js - TypeError: THREE.Scene 不是构造函数

Mur*_*nat 5 html javascript three.js

我只是在尝试 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>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

TypeError: THREE.Scene 不是构造函数

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

任何帮助,将不胜感激。

duh*_*ime 9

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


Mar*_*fuß 8

正如上面的评论中所指出的,问题是three.js页面中包含了错误的-file。您应该始终使用来自./buildThree.js 存储库的-folder的文件,或由 cdnjs 托管的版本:https ://cdnjs.com/libraries/three.js/