我需要解决的当前场景是用鼠标滚轮旋转图像。
由于 KineticJS 没有特定的鼠标滚轮事件挂钩(因为它不是标准的),我使用 jquery-mousewheel 挂钩到周围的画布,并使用 KineticJS 在鼠标悬停时存储需要旋转的图像.
在鼠标滚轮事件中,它检查 KineticJS 是否已将图像标记为要旋转,然后继续旋转图像。
我不确定这是针对这种情况的最佳解决方案,因为它没有考虑重叠的图像(尽管我可能会优先考虑将“活动”形状标记到堆栈的最顶部),或者如果这是什至最有效的解决方案。
本质上:在每个形状上-
this.image.on("mouseover", function() { Engine.scrolling = _this.image;})
this.image.on("mouseout", function() { Engine.scrolling = null;})
在外容器上 -
$("#DraftingBoard").mousewheel(function(event, delta, deltaX, deltaY){
if(Engine.scrolling != null)
{
Engine.scrolling.rotateDeg(90);
Engine.scrolling.getLayer().draw();
event.preventDefault();
}