如果我希望通过置换(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