2013-05-27 37 views
0

有誰知道,如何將舞臺「拖」到某個形狀或形狀組的後面,這樣形狀不會被拖動還有舞臺上的所有其他物品,當然還有舞臺本身?使舞臺可以拖動,但始終保持特定的形狀始終處於相同的相對位置(KineticJS)

在我的例子我與<canvas> - 標籤的可見部分只能通過拖動舞臺左/右達成以外的許多項的階段,但其中一個形狀應始終(0, 0)位置在階段被拖拽時不應改變其位置。

我找不到辦法做到這一點,所以我會很高興,如果有人知道一種方式來得到這個工作。

回答

1

如果在畫布的(0,0)處留下的一個形狀始終是相同形狀且永遠不會更改,則可以將所有其他元素添加到組中,但不包括位於(0,0)處的形狀並拖動而不是拖着舞臺。

如果您必須拖動舞臺,那麼您必須計算鼠標在拖動時移動的x的距離,並將其應用於(0,0)處形狀的位置。

+0

對不起,我忘了提及,有幾個圖層,其他元素被分成,這使得分組變得不可能(只有組和形狀可以分組)。你能否根據改變後的鼠標位置重新計算座標來解釋一下這種方法?謝謝:) – irie

+1

http://jsfiddle.net/projeqht/x89hw/ 在事件舞臺'dragmove'上使用stage.getX()來查找舞臺移動的dx(距離x)。然後,從矩形的X位置中減去dx,以在X階段移動時保持矩形的位置不變。請注意,我將舞臺的拖動範圍限制在X軸上。 – projeqht

+0

感謝您的工作。我會在即將到來的日子裏嘗試一下。在jsfiddle中它完美地工作,但我的代碼似乎總是有它自己的規則。最後一件事:這些代碼在補間期間不起作用,是嗎?因爲在我的情況下,你給了舞臺一點點推動和補間做剩餘的工作(順利緩和)... – irie

相關問題