Прежде всего, большая часть следующего кода, я думаю, не имеет отношения к вопросу, я просто думаю, что это будет больше, ну, если точно поместить всю часть кода.
так что просто посмотрите на строку, которую я пометил первым, большое спасибо.
window.onload = function() {
var WebGLSupported = isWebGLSupported();
var renderer = WebGLSupported ? new THREE.WebGLRenderer() : new THREE.CanvasRenderer();
renderer.setSize( window.innerWidth, 600 );
document.body.appendChild( renderer.domElement );
var scene = new THREE.Scene();
var camera = new THREE.Camera(35,window.innerWidth/600,.1,10000);
camera.position.set( -5, 5, 25 );
var light = new THREE.PointLight( 0xffffff, .4 );
light.position.set( 10, 10, 10 );
scene.addLight( light );
var ambientLight = new THREE.AmbientLight( 0xbbbbbb );
scene.addLight( ambientLight );
var materialClass = WebGLSupported ? THREE.MeshLambertMaterial : THREE.MeshBasicMaterial;
var materialWall = new materialClass( { color: 0xffffff, map: THREE.ImageUtils.loadTexture( 'posts/wholewall.png' ) } );
var i;
var planeWalls=new Array();
for (i=1;i<=10;i++){
planeWalls[i]=new THREE.Mesh(new THREE.PlaneGeometry(18,11,1,1), materialWall);
planeWalls[i].position.z=i*(-5);
scene.addChild(planeWalls[i]);
}
camera.lookAt(planeWalls[1].position);
animate();
function animate() {
renderer.render( scene, camera ); <<-------BREAK AT HERE
requestAnimFrame( animate );
}
}
Когда я ломаюсь на этой линии,
и добавьте часы «я», а затем отладчик говорит
Exception: ReferenceError: i is not defined
затем я добавляю часы из массива выше, "planeWalls", а также получаю ReferenceError,
НО я также добавляю часы "scene", и отладчик правильно показывает его значение,
так что мне интересно, почему,
Я имею в виду, что внутренняя функция, очевидно, может использовать переменную "i", верно?
и затем я добавляю
alert(i);
в начале внутренней функции,
и затем отладчик правильно показывает «i».
Итак, есть ли намеки на это?
Большое спасибо.