AWT Rectangle mit Angle

realodds

Aktives Mitglied
Hallo,
für eine hitbox in einem Spiel müsste ich vorzugsweise ein Rechteck erstellen, dass in einem bestimmten Winkel liegt. Ich hatte eine Art geschafft (mit AffineTransform):
Java:
    public static Shape rotateShape(Shape s, double degrease) {
        AffineTransform tx = new AffineTransform();
        tx.rotate(Math.toRadians(degrease));
        return tx.createTransformedShape(s);
    }
Jedoch brauche ich ein Rechteck und casten wirft eine Exception. Gibt es eine bessere Möglichkeit und wie sehe diese aus?
 

TM69

Bekanntes Mitglied
ist s evtl. Null? Und was übergibst du als <code>degrease</code>? Und was sagt die Exception genau?

P.S.
Hat jemand aus dem Forum evtl. meine Glaskugel gesehen????? Hab sie irgendwie verlegt :D :D :D
 
K

kneitzel

Gast
P.S.
Hat jemand aus dem Forum evtl. meine Glaskugel gesehen????? Hab sie irgendwie verlegt :D :D :D
Du willst unbedingt Ärger mit dem Zaubereiministerium? Du weisst doch genau, dass die Nutzung der Glaskugel auch als Zauberei gilt und das gegenüber von Muggeln ... Also seih froh, dass Du die nicht zur Hand hattest ....
 

realodds

Aktives Mitglied
Java:
            Rectangle rect = (Rectangle) Sword.rotateShape(new Rectangle(500, 500, 50, 80), 45);
            Shape s = Sword.rotateShape(new Rectangle(500, 500, 50, 80), 45);
s ist nicht null und bei rect wirft es folgende Exception:
Exception in thread "main" java.lang.ClassCastException: java.awt.geom.Path2D$Double cannot be cast to java.awt.Rectangle
at gui.Frame.draw(Frame.java:1178)
at gui.Frame.repaintScreen(Frame.java:344)
at gui.Frame.<init>(Frame.java:153)
at gui.Frame.main(Frame.java:339)
 

mrBrown

Super-Moderator
Mitarbeiter
ist s evtl. Null? Und was übergibst du als <code>degrease</code>? Und was sagt die Exception genau?

P.S.
Hat jemand aus dem Forum evtl. meine Glaskugel gesehen????? Hab sie irgendwie verlegt :D :D :D
Er spricht davon, dass die Exception beim Casten fliegt, da gibt es nicht sooo viele Möglichkeiten...
Jedoch brauche ich ein Rechteck und casten wirft eine Exception. Gibt es eine bessere Möglichkeit und wie sehe diese aus?
getBounds liefert dir ein Rechteck.
 

TM69

Bekanntes Mitglied
Er spricht davon, dass die Exception beim Casten fliegt, da gibt es nicht sooo viele Möglichkeiten...
Ich weis deshalb suche ich ja gerade verzweifelt meine Glaskugel. Ich habe sie aber bis jetzt noch nicht gefunden :(

Du willst unbedingt Ärger mit dem Zaubereiministerium? Du weisst doch genau, dass die Nutzung der Glaskugel auch als Zauberei gilt und das gegenüber von Muggeln ... Also seih froh, dass Du die nicht zur Hand hattest ....
Ich bekomme mit dem Zauberministerium ärger, wenn ich sie nicht vorweisen kann. :confused:


:D:D:D:D:D:D:D:D:D
 

mrBrown

Super-Moderator
Mitarbeiter
Ich weis deshalb suche ich ja gerade verzweifelt meine Glaskugel. Ich habe sie aber bis jetzt noch nicht gefunden :(


Ich bekomme mit dem Zauberministerium ärger, wenn ich sie nicht vorweisen kann. :confused:


:D:D:D:D:D:D:D:D:D
Um zu wissen, dass im Code oben keine NPE fliegen kann, und beim Casten eine ClassCastException geworfen wird, reicht alternativ zur Glaskugel auch etwas Wissen über Java oder ein Blick ins Javadoc ;)
 

TM69

Bekanntes Mitglied
Java:
            Rectangle rect = (Rectangle) Sword.rotateShape(new Rectangle(500, 500, 50, 80), 45);
            Shape s = Sword.rotateShape(new Rectangle(500, 500, 50, 80), 45);
s ist nicht null und bei rect wirft es folgende Exception:
Exception in thread "main" java.lang.ClassCastException: java.awt.geom.Path2D$Double cannot be cast to java.awt.Rectangle
at gui.Frame.draw(Frame.java:1178)
at gui.Frame.repaintScreen(Frame.java:344)
at gui.Frame.<init>(Frame.java:153)
at gui.Frame.main(Frame.java:339)
Wenn ich es richtig sehe, korregiert mich wenn ich es jetzt falsch sehe, du übergibst einen int an ein Double. Müsste es nicht heissen 45f?
 

mrBrown

Super-Moderator
Mitarbeiter
Wie gesagt: Shape#getBounds liefert dir die BoundingBox, das ist das einzige Rechteck was du dazu bekommen kannst.

Wenn du das wirklich gedreht brauchst, musst du mit Shape arbeiten, ein Rectangle kann nie gedreht sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Was genau bewirkt Rectangle in 2dGraphics? AWT, Swing, JavaFX & SWT 1
K 2048 Umsetzung mit Gridpane / Stackpane und / Rectangle AWT, Swing, JavaFX & SWT 0
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
U JavaFX GridPane - Circle auf Rectangle versetzten AWT, Swing, JavaFX & SWT 1
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
L JavaFX Rectangle mit Dock-Mechanismus AWT, Swing, JavaFX & SWT 3
K JavaFX TableView mit Rectangle AWT, Swing, JavaFX & SWT 3
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
T Rectangle Transparent und darunter liegende Objekte Bedienbar AWT, Swing, JavaFX & SWT 0
J Rectangle g.fillRec() X/Y Punkt AWT, Swing, JavaFX & SWT 5
TheSorm Rectangle drehen AWT, Swing, JavaFX & SWT 9
S Rectangle Border Color AWT, Swing, JavaFX & SWT 13
P drawString in einem Rectangle AWT, Swing, JavaFX & SWT 4
P Rectangle verschieben AWT, Swing, JavaFX & SWT 11
P ImageIcon auf Rectangle AWT, Swing, JavaFX & SWT 3
P Rectangle on JPanel zentrieren AWT, Swing, JavaFX & SWT 20
O 2D-Grafik Rectangle mit double Werten zeichnen AWT, Swing, JavaFX & SWT 3
T Rectangle Namen geben? Alternativen auch gerne gesehen. AWT, Swing, JavaFX & SWT 2
D 2D-Grafik Form der GrafikObjekte ändern, Ellipse -> Rectangle AWT, Swing, JavaFX & SWT 2
K AWT Rectangle klappt nicht AWT, Swing, JavaFX & SWT 7
R Resize Rectangle Problem AWT, Swing, JavaFX & SWT 3
Schandro Den größten passenden java.awt.Font zu einem Rectangle berechnen AWT, Swing, JavaFX & SWT 2
I Text innerhalb von Rectangle rendern AWT, Swing, JavaFX & SWT 3
H Rectangle[] ? AWT, Swing, JavaFX & SWT 5
I Rectangle mit floating values AWT, Swing, JavaFX & SWT 2
D Markieren mit Rectangle ? AWT, Swing, JavaFX & SWT 9
T PLAF MetalButtonUI Rectangle beseitigen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben