在three.js中正确使用setTimeout函数旋转立方体,可以按照以下步骤进行操作:
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.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
var angle = 0;
function rotateCube() {
angle += 0.01;
cube.rotation.x = angle;
cube.rotation.y = angle;
cube.rotation.z = angle;
renderer.render(scene, camera);
}
function animate() {
setTimeout(function () {
requestAnimationFrame(animate);
rotateCube();
}, 1000 / 60);
}
animate();
通过以上步骤,就可以在three.js中正确使用setTimeout函数旋转立方体了。
在这个例子中,我们使用了setTimeout函数来定时调用旋转函数,每次调用间隔为1000/60毫秒,即每秒60帧。通过不断更新立方体的旋转角度,然后重新渲染场景,实现了立方体的平滑旋转效果。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云