如果我希望通過置換(10,10)到Node
翻譯,又是什麼在做轉換JavaFX中
#1的差異。
myNode.setTranslateX (10);
myNode.setTranslateY (10);
,做
#2。
Translate translateNode = new Translate (10,10);
myNode.getTransforms.add(translateNode);
如果我希望通過置換(10,10)到Node
翻譯,又是什麼在做轉換JavaFX中
#1的差異。
myNode.setTranslateX (10);
myNode.setTranslateY (10);
,做
#2。
Translate translateNode = new Translate (10,10);
myNode.getTransforms.add(translateNode);
第一種方法將平移絕對的,無論你的節點所在,在此之後,這將是@ X:10 Y:10。
另一方面,第二種方法尊重節點上的當前轉換,eq myNode。所以如果你的節點是@ x:23,y:52它會是33,62。
adding a Translate
和setting a translate
都做同樣的事情。唯一需要注意的是,如果您指定both to the same node
,則在設置平移/縮放因子之前應用添加的轉換。
從getTransforms所述的JavaDoc:
變換的這ObservableList被平移X,平移Y,將scaleX和scaleY之前施加,旋轉變換。
我不得不旋轉關於點(30,20)10度的節點。我必須添加3個轉換,一個翻譯(30,20)然後旋轉10度,然後另一個翻譯(-30,-20)。 –
我可以通過Node.TranslateX(),Node.TranslateY()和Node.Rotate()方法來做到這一點嗎? –
是(30,20)在你的場景中翻譯X和Y值還是X/Y座標? – ItachiUchiha