Three.js - Uncaught TypeError: undefined ist keine Funktion
Ich bekomme dasUncaught TypeError: undefined is not a function
während der Verwendung von Three.js. Der Fehler wird für die Zeile angezeigt, in der ich einTHREE.PerspectiveCamera
. Das Drehbuch ist
window.requestAnimFrame = (function(callback){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){
window.setTimeout(callback, 1000 / 60);
};
})();
function animate(lastTime, angularSpeed, three){
// update
var date = new Date();
var time = date.getTime();
lastTime = time;
// render
three.renderer.render(three.scene, three.camera);
// request new frame
requestAnimFrame(function(){
animate(lastTime, angularSpeed, three);
});
}
$(window).bind('load',function(){
var angularSpeed = 0.2; // revolutions per second
var lastTime = 0;
$container = $("#container");
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
$container.append(renderer.domElement);
// camera - Uncaught Type Error on the below line
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.y = -450;
camera.position.z = 400;
camera.rotation.x = 45 * (Math.PI / 180);
// scene
var scene = new THREE.Scene();
var material = new THREE.LineBasicMaterial({
color: 0x0000ff,
});
var geometry = new THREE.Geometry();
for(var i=0;i<100;i++){
geometry.vertices.push(new THREE.Vector3(i-100,i-100,i-100));
geometry.vertices.push(new THREE.Vector3(i+100,i+100,i+100));
var line = new Three.Line(geometry,material);
scene.add(line);
geometry=new THREE.Geometry();
}
// create wrapper object that contains three.js objects
var three = {
renderer: renderer,
camera: camera,
scene: scene,
};
animate(lastTime, angularSpeed, three);
});
Liegt es daran, dass die Art und Weise, wie ich die Kamera deklariere, falsch ist? Ich habe die Dokumentation zu three.js überprüft und das dort angegebene Beispiel ist im Grunde dasselbe. Also bin ich festgefahren, was zu tun ist.
UPDATE: Ich habe eine lokale Kopie von Three.js verwendet, als ich auf den letzten Fehler gestoßen bin. Ich habe es mit dem Link gewechselthttp://www.html5canvastutorials.com/libraries/Three.js. Jetzt ist der PerspectiveCamera-Fehler verschwunden, es wird jedoch ein neuer Fehler im Three.js-Skript erzeugt. Der Fehler istUncaught TypeError: Cannot read property 'x' of undefined
in Zeile 337 des Skripts Three.js
Vielen Dank.