【发布时间】:2015-12-11 01:15:15
【问题描述】:
我正在尝试在 canvas + Fabricjs 上编写一个简单的纸牌游戏。鼠标在上面时需要制作更大的玩家卡片,如果鼠标不在则恢复正常大小。 这是我的js代码:
canvas.on('mouse:over', function(e) {
if(e.target.mytype && e.target.mytype=='card'){
e.target.animate({
top:352,
left: e.target.left - (max_width - min_width)/2,
scaleX:0.4,
scaleY:0.4
} , {
duration: 500,
onChange: function(value) {
canvas.renderAll.bind(canvas);
},
easing: fabric.util.ease.easeInOut
});
canvas.renderAll();
}
});
canvas.on('mouse:out', function(e) {
if(e.target.mytype && e.target.mytype=='card'){
e.target.animate({
top:385,
left: e.target.left + (max_width - min_width)/2,
scaleX:0.3,
scaleY:0.3
} , {
duration: 500,
onChange: function(value) {
canvas.renderAll.bind(canvas);
},
easing: fabric.util.ease.easeInOut
});
canvas.renderAll();
}
});
如果玩家将卡片悬停 200 毫秒(动画持续时间为 500 毫秒)并移出,动画将冻结并且卡片将保持在新位置。再次悬停将从这个新位置开始动画。 这是fiddle
只需尝试将鼠标移入/移出对象,您就会看到错误。请帮我解决这个问题。
【问题讨论】:
标签: javascript fabricjs