我之前制作过HTML5游戏并使用HTML5的这一功能完成了流畅的动画animate(highResTimestamp)
它的效果非常好,可以制作流畅的动画效果。
但是,我只做了本地游戏。我正在制作一个在线游戏服务器并使用nodejs。我正在学习一个教程而不是使用animate(highResTimestamp)
来跟踪他们所做的帧速率,nodejs经常向客户端发送信号以更新每个角色的位置。如下所示,
setInterval(function() {
var pack = [];
for(var i in SOCKET_LIST) {
var socket = SOCKET_LIST[i];
pack.push({
x:socket.x,
y:socket.y
});
}
for(var i in SOCKET_LIST) {
var socket = SOCKET_LIST[i];
socket.emit('newPositions', pack);
}
}, 1000/25);
我添加了一个检测键盘keydown的简单方法,并向服务器发送信号,说明增加x或y。然后客户端正在侦听消息newPositions
,当它收到消息时,它会清除画布并在新的位置中绘制所有字符。
animate(highResTimestamp)
来控制帧速率?