Javascript 使用像素检测后无法拖动动能.JS图像

Javascript 使用像素检测后无法拖动动能.JS图像,javascript,html,kineticjs,Javascript,Html,Kineticjs,我正在使用Kinetic.JS库开发HTML5应用程序。 我使用Kinetic.Image加载图像(采用.PNG格式),并使用像素检测仅检测图像的不透明部分。问题是,虽然我已将draggable属性设置为true并使用saveImageData方法,但无法正确拖动图像。 图像在拖动之前很久(使用pathdetection)。伙计们,有什么解决办法吗? 这是我的代码: var beeObj = new Image(); beeObj.onload = function(){

我正在使用
Kinetic.JS
库开发HTML5应用程序。 我使用Kinetic.Image加载图像(采用
.PNG
格式),并使用像素检测仅检测图像的不透明部分。问题是,虽然我已将
draggable
属性设置为
true
并使用
saveImageData
方法,但无法正确拖动图像。 图像在拖动之前很久(使用
path
detection)。伙计们,有什么解决办法吗? 这是我的代码:

   var beeObj = new Image();
        beeObj.onload = function(){ 
            bee = new Kinetic.Image({ //bee is global variable
            x: 325 - 45,
            y: 145 - 83,
            image: beeObj,          
            draggable: true         
        });
        lineLayer.add(bee); 
        lineLayer.draw();
        bee.saveImageData();
   };
   beeObj.src = directory + "smile_bee.png";

图像加载器中没有DetectionType。。 应该是这样的

bee = new Kinetic.Image({ //bee is global variable
        x: 325 - 45,
        y: 145 - 83,
        image: beeObj,          
        draggable: true,
        DetectionType: 'Pixels'         
    });
    image.createImageBuffer();
鼠标悬停时,您可以使用相同的功能,即

saveImageData()

并以相同的函数结束整个onload函数 那就行了

现在Eric发布了v4+ 所以现在没有像素检测类型

你可以用像

bee = new Kinetic.Image({ //bee is global variable
        x: 325 - 45,
        y: 145 - 83,
        image: beeObj,          
        draggable: true,
        DetectionType: 'Pixels'         
    });
    image.createImageBuffer();
//清除图像缓冲区

     image.clearImageBuffer();
希望这有助于


关于

NB:Kinetic.JS版本:Kinetic-v3.10.4.JS