Image processing 拖动绑定不适用于kineticjs中已调整大小的图像

Image processing 拖动绑定不适用于kineticjs中已调整大小的图像,image-processing,canvas,kineticjs,drag,image-resizing,Image Processing,Canvas,Kineticjs,Drag,Image Resizing,我正在使用Kineticjs。我正试图在拖动上绑定(dragBoundFunc),如下所示(): dragBoundFunc:函数(pos){ var X=位置X; 变量Y=位置Y; if(XmaxX){ X=最大X; } if(YmaxY){ Y=最大值; } 返回({ x:x, y:y }); } }); 我正在尝试将这种方法用于一个像这样可以拖动和重新调整规模的团队,但我无法使其发挥作用。我希望听到一些评论。你似乎对这个问题想得太多了 例如,下面是如何强制执行右边界(在伪代码中) 如果出

我正在使用Kineticjs。我正试图在拖动上绑定(dragBoundFunc),如下所示():

dragBoundFunc:函数(pos){
var X=位置X;
变量Y=位置Y;
if(XmaxX){
X=最大X;
}
if(YmaxY){
Y=最大值;
}
返回({
x:x,
y:y
});
}
});

我正在尝试将这种方法用于一个像这样可以拖动和重新调整规模的团队,但我无法使其发挥作用。我希望听到一些评论。

你似乎对这个问题想得太多了

例如,下面是如何强制执行右边界(在伪代码中)

如果出现以下情况,您已将达斯移到尤达右侧之外:

darthRight > yodaRight.  
计算darthRight:

在dragBoundFunc中,pos变量提供达斯当前左上角的x/y

darthRight = posX + darthWidth  
计算yodaRight:

yodaRight = yodaX + yodaWidth   
要更正省道移动到尤达之外的错误:

将飞镖左侧拉回到尤达内,直到飞镖在尤达内完全达到飞镖宽度

posX = yodaRight - darthWidth
完成了


现在重复其他3个边界…

我花了一天的大部分时间在这上面,但似乎无法让它工作。请通过改进/编辑jsBin来回复file@makE我知道需要强制执行的条件,但我无法使其正常工作,正如您可能已经看到的那样,我试图通过类似的方法解决问题(注:yodaX=0),唯一的区别是,我试图将边界增加10,因为我希望Anhor始终位于yoda映像内。此外,我不确定当x和y都超出边界时如何实现该条件。请您对jsbin文件进行适当的更改。这将对我大有帮助。我还忘了提到我不确定的内容w为了处理调整darthvader图像大小时出现的绑定问题,我能够改进代码,但仍有一些问题我无法解决。请查看此更新的代码,在重新调整大小后,我仍然无法管理绑定。请帮助做得好!我尝试了你的jsbin,看起来你现在可以使用了。我要补充的一点是,在调整大小时,应该防止用户将调整大小的操作拖到yoda的边界之外。
posX = yodaRight - darthWidth