gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'propeller' of undefined

转载 作者:行者123 更新时间:2023-11-30 13:47:18 25 4
gpt4 key购买 nike

我正在尝试做这个教程

https://tympanus.net/codrops/2016/04/26/the-aviator-animating-basic-3d-scene-threejs/

我得到这个错误:

未捕获的类型错误:无法读取未定义的属性“螺旋桨”;

看起来像这样:

                 function loop(){
airplane.propeller.rotation.x += 0.3;
sea.mesh.rotation.z += .005;
sky.mesh.rotation.z += .01;

updatePlane();

renderer.render(scene, camera);

requestAnimationFrame(loop);
}

我尝试修改它:

                   function loop(){
var airplane;

airplane.propeller.rotation.x += 0.3;
sea.mesh.rotation.z += .005;
sky.mesh.rotation.z += .01;

updatePlane();

renderer.render(scene, camera);

requestAnimationFrame(loop);
}

                 function loop(){
var airplane = new airplane();
airplane.propeller.rotation.x += 0.3;
sea.mesh.rotation.z += .005;
sky.mesh.rotation.z += .01;

updatePlane();

renderer.render(scene, camera); //START THE ANIMATION,

requestAnimationFrame(loop);
}

但它给出了同样的错误;

我错过了什么?

最佳答案

您必须确保 airplaneloop() 函数可见的范围内声明。恐怕您的修改没有任何意义。第一个修改只是声明了一个变量,这意味着它在下一行中仍然是 undefined。第二个创建飞机的每个动画步骤也肯定是不正确的(你只想创建一次飞机 3D 对象然后重用它)。

本教程像这样创建飞机:

var airplane;

function createPlane(){
airplane = new AirPlane();
airplane.mesh.scale.set(.25,.25,.25);
airplane.mesh.position.y = 100;
scene.add(airplane.mesh);
}

只需确保避免对 airplane 进行任何重新声明即可。

关于javascript - 未捕获的类型错误 : Cannot read property 'propeller' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59048759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com