我收到了涉及转动方向盘的作业。该圆圈由以4个像素的间隙分隔的54个球组成。任务是绘制分配旋转度的54个数字之一。然后在15秒内,车轮必须转两圈。那是720度+绘制的值。
这是“车轮旋转系统”。使用Node.js为客户端生成变量。我正在使用Socekt.IO向客户端发送消息。
//这是数字的旋转度值
function Rotate(data, last);
let INITIAL_VALUE = last;
let FINAL_RESULT = data += 720 - INITIAL_VALUE;
const FRAME_PER_SECOND = 120;
const DURATION_WHEEL = 15000;
setTimeout(function(){
var start = new Date().getTime();
var timer = setInterval(function() {
var CURRENT_TIME = new Date().getTime() - start;
x = easeOutQuart(CURRENT_TIME, INITIAL_VALUE, FINAL_RESULT - INITIAL_VALUE, DURATION_WHEEL);
io.sockets.emit('angle', x % 360);
if (CURRENT_TIME >= DURATION_WHEEL) {
var cut = x % 360;
io.sockets.emit('angle', cut);
LAST_ANGLE = cut;
clearInterval(timer);
EndRound();
}
}, 1000 / FRAME_PER_SECOND);
}, 500);
}
function easeOutQuart(t, b, c, d) {
t /= d;
return -c * t*(t-2) + b;
}
我希望包括绘制值在内的两个回合。时不时地,我不会整整一转。