OBJLoader 不是构造函数

OBJLoader is not a constructor

我想显示带有 THREE.js 的 .obj 文件。

在我加载 .obj 文件之前,我想加载我在 index.html 文件中链接的 OBJLoader.js 文件。

<html>
<head>
    <meta charset="utf-8"/>
    <title>OBJ Car rendering</title>
    <style>
        body {margin: 0%}
        canvas { width: 100%; height: 100%;}
    </style>
</head>
<body>
    <script src="js/three.js"></script>
    <script src="scripts.js"></script>
    <script src="OBJLoader.js"></script>
</body>
</html>

另一个代码是 scripts.js 文件

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.innerHeight, window.innerWidth);
document.body.appendChild(renderer.domElement);

var objloader = new THREE.OBJLoader();

//game logic
var update = function()
{

};
//draw scene
var render = function()
{
    renderer.render(scene,camera);
};  
//run game loop, update, render, repeat
var GameLoop = function()
{
    requestAnimationFrame(GameLoop);
    update();
    render();
};
GameLoop();

但是如果我在浏览器中打开 index.html 文件,它会给我一个错误:

THREE.OBJLoader is not a constructor

好吧,我回答了我自己的问题:D

这是link事情的顺序!

<html>
    <head>
        <meta charset="utf-8"/>
        <title>OBJ Car rendering</title>
        <style>
            body {margin: 0%}
            canvas { width: 100%; height: 100%;}
        </style>
    </head>
    <body>
        <script src="js/three.js"></script>
        <script src="OBJLoader.js"></script>  
        <script src="scripts.js"></script>

    </body>
</html>

OBJLoader 必须在脚本之前加载!