2013-11-26 59 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

相關問題