更新时间:2021-12-24 01:04:19
更新说明:已经更新了使用官方最新的js,本地运行需要以站点方式运行。
更新时间:2021-12-22 11:44:37
更新说明:替换调用threejs官方最新版本出现的兼容问题
发布时间:2017-10-09 9:41:10
刚开始入的坑,做了一些简陋的修改,原来的元素周期展示为图片了,y轴旋转,自动更换场景后面还可以更好的优化,另外,图片达到500张之后我电脑就好卡,渲染不行,修改之后也没有检测性能所以,大家仅供参考
这是一个来自`chatgpt`的方案,我修改了并测试可行
let isAnimating = false; // 用于标记是否正在渲染场景
const myButton = document.getElementById('myButton');
myButton.addEventListener('click', function() {
// 如果当前正在渲染场景,则不执行任何操作
if (isAnimating) {
return;
}
isAnimating = true; // 标记为正在渲染场景
const intervalId = setInterval(function() {
// 让场景通过y轴旋转
scene.rotation.y += 0.008;
render();
}, 16.7); // 每秒渲染60帧,即每帧间隔16.7毫秒
// 在按钮上添加一个标记,以便在下次点击时停止渲染
myButton.dataset.intervalId = intervalId;
});
// 在按钮上添加一个“停止”事件处理程序,以便在点击时停止渲染
const mouseup = document.getElementById('mouseup');
mouseup.addEventListener('mouseup', function() {
console.log(1111111)
const intervalId = myButton.dataset.intervalId;
if (intervalId) {
clearInterval(intervalId);
isAnimating = false; // 标记为停止渲染场景
myButton.dataset.intervalId;
}
});