JavaFX는 모서리를 중심으로 사각형을 회전합니다.

방금 JavaFX로 작업을 시작했는데 질문이 있습니다. 내 프로젝트에서 회전하는 직사각형을 사용하고 싶습니다. 하지만 사각형은 중심을 기준으로 만 회전하며 왼쪽 상단 모서리를 중심으로 회전하고 싶습니다.

이 그림과 같이 ( 여기에서 ) :

여기에 이미지 설명 입력

여기 내 프로젝트와 같은 코드가 있습니다.

import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Rectangle;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.*;

public class Main extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        Group root = new Group();
        Scene scene = new Scene(root, 500, 500);

        //create rectangle
        Rectangle rect = new Rectangle(10, 10, 200, 15);
        rect.setTranslateX(250);
        rect.setTranslateY(250);
        rect.setFill(Color.BLACK);

        root.getChildren().add(rect);

        AnimationTimer timer = new AnimationTimer() {
            @Override
            public void handle(long now) {
                stage.getScene().setOnKeyPressed(e -> {
                    if (e.getCode() == KeyCode.LEFT) {
                        rect.setRotate(rect.getRotate()-5);     //<-- rotate rectangle here
                    } else if (e.getCode() == KeyCode.RIGHT){
                        rect.setRotate(rect.getRotate()+5);     //<-- rotate rectangle here
                    }
                });
            }
        };
        timer.start();

        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

이 경우 화살표 키를 누르면 사각형이 회전합니다.

Flood2d

당신은 사용해야 Transform하고 Rotate특히 사용자 정의 피벗 주위에 노드를 회전 할 수 있습니다.

//Create a Rotate Object
Rotate rotate = new Rotate();
rotate.setPivotX(node.getX()); //Pivot X Top-Left corner
rotate.setPivotY(node.getY()); //Pivot Y
rotate.setAngle(angle); //Angle degrees

//Add the transform to the node
node.getTransforms().add(rotate);

코드에서

final Rotate rotate = new Rotate();
rect.getTransforms().add(rotate);

AnimationTimer timer = new AnimationTimer() {
    @Override
    public void handle(long now) {
        stage.getScene().setOnKeyPressed(e -> {
           rotate.setPivotX(rect.getX());
           rotate.setPivotY(rect.getY());
           if (e.getCode() == KeyCode.LEFT) {
               rotate.setAngle(rotate.getAngle() - 5);
           } else if (e.getCode() == KeyCode.RIGHT){
               rotate.setAngle(rotate.getAngle() + 5);
           }
        });
    }
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaFX는 중심을 중심으로 사각형을 회전합니까?

분류에서Dev

사용자 지정 transformOriginPoint를 중심으로 회전하면 표준 transformOriginPoint를 중심으로 회전하는 것처럼 작동합니다.

분류에서Dev

SVG 원을 올바르게 중심으로 회전하고 원의 중심에 다각형을 중심으로 회전하는 방법은 무엇입니까?

분류에서Dev

타원 중심을 중심으로 ArcSegment를 회전하는 방법

분류에서Dev

OpenGl에서 Y 축을 중심으로 지속적으로 회전하는 삼각형 만들기

분류에서Dev

d3.js를 사용하여 중심을 중심으로 사각형이 이상한 회전

분류에서Dev

JavaFX 드로잉을 중심으로 회전하는 방법

분류에서Dev

Fabric js에서 중심을 중심으로 회전을 애니메이션하는 방법

분류에서Dev

중심점을 중심으로 이미지를 회전하는 Android 애니메이션

분류에서Dev

C ++의 Boost.Geometry에서 다각형 변환 : 선을 중심으로 변환, 회전, 반사

분류에서Dev

중심을 중심으로 다각형 회전

분류에서Dev

SVG / D3에서 중심을 중심으로 텍스트를 회전하는 방법 (세로 뒤집기)?

분류에서Dev

Three.js는 돌출 축을 중심으로 회전하면서 2D면을 돌출시킵니다.

분류에서Dev

D3.js는 중간 지점을 중심으로 축 레이블을 회전합니다.

분류에서Dev

자바 스윙에서 호를 중심으로 직사각형 회전

분류에서Dev

autograd를 지원하는 방식으로 PyTorch 이미지 텐서를 중심을 중심으로 회전하는 방법은 무엇입니까?

분류에서Dev

Julia에서 PyPlot을 사용하여 특정 지점을 중심으로 사각형 회전

분류에서Dev

Unity-Y 축을 중심으로 개체를 회전하면서지면을 향해 지속적으로 다른 회전을 설정합니다.

분류에서Dev

UIBezierPath는 원 자체, 신속 및 SpriteKit 내의 한 지점을 중심으로 회전합니다.

분류에서Dev

이미지 중앙을 중심으로 범위를 회전하는 방법은 무엇입니까?

분류에서Dev

부모 축을 중심으로 자식을 회전하는 데 어려움

분류에서Dev

어떻게 자바를 중심으로 임의의 다각형을 생성하는?

분류에서Dev

정사각형을 가져 와서 동일한 크기의 작은 정사각형 N으로 나누고 중심 좌표를 반환합니다.

분류에서Dev

x, y, z 축을 중심으로 텍스처를 회전하고이를 사용하여 다각형 그리기

분류에서Dev

x, y, z 축을 중심으로 텍스처를 회전하고이를 사용하여 다각형 그리기

분류에서Dev

특정 축을 중심으로 벡터를 회전하는 방법

분류에서Dev

회전 벡터 센서는 "수평"회전을 반대로합니다.

분류에서Dev

이미지를 자체 및 원을 중심으로 회전시키는 방법은 무엇입니까?

분류에서Dev

3D 축 (Y)을 중심으로 2D UIElement를 회전하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    JavaFX는 중심을 중심으로 사각형을 회전합니까?

  2. 2

    사용자 지정 transformOriginPoint를 중심으로 회전하면 표준 transformOriginPoint를 중심으로 회전하는 것처럼 작동합니다.

  3. 3

    SVG 원을 올바르게 중심으로 회전하고 원의 중심에 다각형을 중심으로 회전하는 방법은 무엇입니까?

  4. 4

    타원 중심을 중심으로 ArcSegment를 회전하는 방법

  5. 5

    OpenGl에서 Y 축을 중심으로 지속적으로 회전하는 삼각형 만들기

  6. 6

    d3.js를 사용하여 중심을 중심으로 사각형이 이상한 회전

  7. 7

    JavaFX 드로잉을 중심으로 회전하는 방법

  8. 8

    Fabric js에서 중심을 중심으로 회전을 애니메이션하는 방법

  9. 9

    중심점을 중심으로 이미지를 회전하는 Android 애니메이션

  10. 10

    C ++의 Boost.Geometry에서 다각형 변환 : 선을 중심으로 변환, 회전, 반사

  11. 11

    중심을 중심으로 다각형 회전

  12. 12

    SVG / D3에서 중심을 중심으로 텍스트를 회전하는 방법 (세로 뒤집기)?

  13. 13

    Three.js는 돌출 축을 중심으로 회전하면서 2D면을 돌출시킵니다.

  14. 14

    D3.js는 중간 지점을 중심으로 축 레이블을 회전합니다.

  15. 15

    자바 스윙에서 호를 중심으로 직사각형 회전

  16. 16

    autograd를 지원하는 방식으로 PyTorch 이미지 텐서를 중심을 중심으로 회전하는 방법은 무엇입니까?

  17. 17

    Julia에서 PyPlot을 사용하여 특정 지점을 중심으로 사각형 회전

  18. 18

    Unity-Y 축을 중심으로 개체를 회전하면서지면을 향해 지속적으로 다른 회전을 설정합니다.

  19. 19

    UIBezierPath는 원 자체, 신속 및 SpriteKit 내의 한 지점을 중심으로 회전합니다.

  20. 20

    이미지 중앙을 중심으로 범위를 회전하는 방법은 무엇입니까?

  21. 21

    부모 축을 중심으로 자식을 회전하는 데 어려움

  22. 22

    어떻게 자바를 중심으로 임의의 다각형을 생성하는?

  23. 23

    정사각형을 가져 와서 동일한 크기의 작은 정사각형 N으로 나누고 중심 좌표를 반환합니다.

  24. 24

    x, y, z 축을 중심으로 텍스처를 회전하고이를 사용하여 다각형 그리기

  25. 25

    x, y, z 축을 중심으로 텍스처를 회전하고이를 사용하여 다각형 그리기

  26. 26

    특정 축을 중심으로 벡터를 회전하는 방법

  27. 27

    회전 벡터 센서는 "수평"회전을 반대로합니다.

  28. 28

    이미지를 자체 및 원을 중심으로 회전시키는 방법은 무엇입니까?

  29. 29

    3D 축 (Y)을 중심으로 2D UIElement를 회전하는 방법은 무엇입니까?

뜨겁다태그

보관