我在学习JavaScript的Three.js,可是当我学习到FlyControls.js时,我的代码出现了问题。
代码:
<body>body>
<script src="/three.js">script>
<script src="/controls/FlyControls.js">script>
<script>
// The "scene" is where stuff in our game will happen:
var scene = new THREE.Scene();
var flat = {flatShading: true};
var light = new THREE.AmbientLight('white', 0.8);
scene.add(light);
// The "camera" is what sees the stuff:
var aspectRatio = window.innerWidth / window.innerHeight;
var camera = new THREE.PerspectiveCamera(75, aspectRatio, 1, 10000);
camera.position.z = 500;
scene.add(camera);
// The "renderer" draws what the camera sees onto the screen:
var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// ******** START CODING ON THE NEXT LINE ********
function r(max) {
if (max) {
return max * Math.random();
}
return Math.random();
}
function rColor() {
return new THREE.Color(r(), r(), r());
}
function makePlant() {
var size = 50;
var x = r(1000) - 500;
var y = r(1000) - 500;
var z = r(1000) - 1000;
var surface = rColor();
var shape = new THREE.SphereGeometry(size);
var cover = new THREE.MeshBasicMaterial({color: surface});
var planet = new THREE.Mesh(shape, cover);
planet.position.set(x, y, z);
scene.add(planet);
}
for (var i = 0; i < 100; i++) {
makePlant();
}
var contros = new THREE.FlyControls(camera);
contros.movementSpeed = 100;
contros.rollSpeed = 0.5;
contros.dragToLook = true;
contros.autoForward = false;
var clock = new THREE.Clock();
function animate() {
var delta = clock.getDelta();
contros.update(delta);
renderer.render(scene,camera);
requestAnimationFrame(animate);
}
animate();
// Now, show what the camera sees on the screen:
renderer.render(scene, camera);
script>
它在3de上是可以正常运行的,但是,它无法在Webstorm中运行。

谁来帮帮我?