2015-06-03 59 views
0

如果我希望通過置換(10,10)到Node翻譯,又是什麼在做轉換JavaFX中

#1的差異。

myNode.setTranslateX (10); 
myNode.setTranslateY (10); 

,做

#2。

Translate translateNode = new Translate (10,10); 
myNode.getTransforms.add(translateNode); 

回答

0

第一種方法將平移絕對的,無論你的節點所在,在此之後,這將是@ X:10 Y:10。

另一方面,第二種方法尊重節點上的當前轉換,eq myNode。所以如果你的節點是@ x:23,y:52它會是33,62。

1

adding a Translatesetting a translate都做同樣的事情。唯一需要注意的是,如果您指定both to the same node,則在設置平移/縮放因子之前應用添加的轉換。

getTransforms所述的JavaDoc:

變換的這ObservableList被平移X,平移Y,將scaleX和scaleY之前施加,旋轉變換。

+0

我不得不旋轉關於點(30,20)10度的節點。我必須添加3個轉換,一個翻譯(30,20)然後旋轉10度,然後另一個翻譯(-30,-20)。 –

+0

我可以通過Node.TranslateX(),Node.TranslateY()和Node.Rotate()方法來做到這一點嗎? –

+0

是(30,20)在你的場景中翻譯X和Y值還是X/Y座標? – ItachiUchiha