如何将HammerJS事件绑定到KineticJS形状?

时间:2014-02-27 11:23:29

标签: jquery html5 kineticjs multi-touch hammer.js

我正在尝试将HammerJS与KineticJS结合起来。我在网上找到了一些例子和tipps,但它对我不起作用。

我在循环中创建了许多图像对象,并在图层循环的末尾绘制它们。每张图片都有唯一的ID。每个图像都应该对不同的多点触控输入作出反应,例如长时间保持图片,捏合和缩小以放大等。

我知道我只能用锤子听文件元素而不是kineticjs对象。 但我不知道如何才能实现这些图像。

我创建了一个演示: http://jsfiddle.net/HF3dL/1/

如果用户在圆圈上进行双击,则应显示警报。我知道,用这段代码,我没有达到圆形......

var transformer = Hammer(stage.getContainer())  
transformer.on('doubletap', function (e) {
    alert("test");   
}); 

我发现错误并更新了小提琴。该方法必须在循环中。

for(var n = 0; n < 10; n++) {
var circle = new Kinetic.Circle({
    x: Math.random() * stage.getWidth(),
    y: Math.random() * stage.getHeight(),
    radius: Math.random() * 50 + 25,
    fill: 'red',
    stroke: 'black',
    strokeWidth: 3,
    draggable: true,
    id: 'img'+n
});
var transformer = Hammer(circle);  //kineticjs stage
transformer.on('doubletap', function (e) {
    alert("test"); 
});

layer.add(circle);

}

http://jsfiddle.net/HF3dL/3/

1 个答案:

答案 0 :(得分:0)

与HammerJS的集成将在KineticJS的未来版本v5.0.2中。你也可以看一下:https://github.com/lavrton/KineticJS-HammerJS-test。你可以从这个仓库获得kinetic.js文件,直到发布版本为止。