我正在使用动力学
for(var i = 0; i < playerData.length; i++)
{
(function(i){
data = playerData[i];
group = stage.get('#' + data.user_id)[0];
var anim = new Kinetic.Animation(function(frame){
dx = group.getX() - data.posX;
dy = group.getY() - data.posY;
var dist = Math.sqrt(dx * dx + dy * dy);
var angle = Math.atan2(dy, dx);
var speedX = Math.cos(angle) * moveSpeed;
var speedY = Math.sin(angle) * moveSpeed;
group.setX(parseInt(group.getX()) - speedX);
group.setY(parseInt(group.getY()) - speedY);
console.log(dist);
}, mainLayer);
console.log('animation started');
anim.start();
})(i)
}
我在为每个对象执行动画时遇到问题,每次从服务器获取新数据时,我都会循环所有对象以在新坐标处移动,但我不明白如何正确执行动画,我的对象不运行同时,它们开始卡住,所以问题是:我怎样才能开始一个新的 Kinetic.Animation 然后成功地为每个对象停止它?