2013-05-01 75 views
3

我有一個小工具繪製了一個圓圈(表示孔)的網格,允許用戶向這些圓圈添加文本和線條。現在我已經設置好了,所以如果用戶點擊任何一個孔,那麼無論何處移動孔,紙對象上的每個其他元素都是如此。接下來我要實現的是將所有東西都作爲一個對象旋轉的能力。我意識到要做到這一點,我需要知道所有對象的中心點,我可以輕鬆獲得。
我想知道的是我應該在另一個對象上繪製所有東西。這個對象將作爲另一個Paper對象,但只會用於移動和旋轉。對象上繪製的任何點擊事件都會傳遞給父對象(即僞造的紙對象都繪製在上面)。這可能嗎?如果是這樣,我怎麼會畫出一個矩形?如果不是,那麼執行它的最好方法是什麼?拉斐爾JS移動/旋轉一組圖紙爲一體?

+0

每個孔都有自己的紙嗎?一個jsfiddle鏈接將有幫助 – 2013-05-02 02:27:05

回答

3

你需要的是一個Set。您創建它,將對象推送到它,然後將它視爲整個組,在您的情況下通過應用轉換。

例子:

var elements = paper.set(); 

if (!view.text) { 
    view.text = App.R.text(0, 0, this.value); 
    view.text.attr({ 
     'font-size': font_size, 
    }); 
    elements.push(view.text); 
} 
elements.transform('something'); 

請注意,您也可以綁定事件到這整個一套。

+0

謝謝!那正是我所需要的 – 2013-05-15 17:16:38