更新时间: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; } });