2013-11-26 32 views
0

我正在使用Kineticjs。我想已绑定(dragBoundFunc)上类似下面(http://jsfiddle.net/m1erickson/n5xMs)的阻力:拖动绑定不能在kineticjs中调整大小的图像

 dragBoundFunc: function (pos) { 
      var X = pos.x; 
      var Y = pos.y; 
      if (X < minX) { 
       X = minX; 
      } 
      if (X > maxX) { 
       X = maxX; 
      } 
      if (Y < minY) { 
       Y = minY; 
      } 
      if (Y > maxY) { 
       Y = maxY; 
      } 
      return ({ 
       x: X, 
       y: Y 
      }); 
     } 
    }); 

,我试图用这种方式为一组是拖能和重新可观这样http://jsbin.com/iyimuy/125/edit但我无法做到这一点。我很想听听一些意见。

+0

我花了我大部分的时间在这,但似乎无法使它work.Please通过提高回复/编辑此文件jsBin – Aameer

回答

0

你似乎是在过度解决问题。

例如,以下是如何执行右边界(以伪代码形式)。

您移动达斯超越尤达的右侧,如果:

darthRight > yodaRight. 

计算darthRight:

在dragBoundFunc,POS机变量给你达斯目前左上角的x/y 。

darthRight = posX + darthWidth 

计算yodaRight:

yodaRight = yodaX + yodaWidth 

为了纠正darths移动外尤达:左侧回场内尤达直到其内部yodaRight全darthWidth

拉darths。

posX = yodaRight - darthWidth 

完成!

现在重复了其他3个边界...

+0

@makE我知道需要强制执行的条件,但我无法使它正常工作,因为你可能已经看到我试图用类似的方法解决这个问题(注意yodaX = 0),唯一的区别是我试图增加界限10因为我希望anhors始终处于yoda图像的内部。另外,我不确定当x和y都出界时如何实现条件。请您对jsbin文件进行适当的更改。它会对我有很大的帮助。 – Aameer

+0

我也忘记提及我不知道如何处理当我们调整darthvader图像时出现的界限问题 – Aameer

+0

我能够改进代码,但仍然存在一些我无法弄清楚的问题..检查出这个更新代码http://jsbin.com/iyimuy/132/edit – Aameer

相关问题