如果我在画布上绘制,则可以旋转图形上下文的坐标系,而无需旋转在相应画布上已经绘制的任何内容,这与平移相同。
一个小组中可能有类似的事情吗?如果我只是轮流翻译,那是孩子们,我不会获得正确的效果,因为翻译将自己定位在小组未轮换的系统上。
如果没有,是否有像3d画布那样的功能?
答案 0 :(得分:0)
正如Slaw所指出的,我正在寻找的是包javafx.scene.transform中的类。
这里是一个示例:假设我要一条线(200,200),其长度为200,且与x轴成60度角。没有transform包也不会很难做到这一点,但它只能作为一个简单的例子。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.scene.transform.Affine;
import javafx.stage.Stage;
public class Example extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) throws Exception {
Group group = new Group();
Scene scene = new Scene(group, 400, 400);
stage.setScene(scene);
// Does not work as intended
Line line1 = new Line(0,0, 200, 0);
line1.setTranslateX(200);
line1.setTranslateY(200);
line1.setRotate(60);
// Does work as intended.
Line line2 = new Line(0, 0, 200, 0);
Affine affine = new Affine();
affine.appendTranslation(200, 200);
affine.appendRotation(60);
line2.getTransforms().add(affine);
group.getChildren().addAll(line1, line2);
stage.show();
}
}