Anker Punkt setzen.

Chris_Lorenz20

Neues Mitglied
Hi,
ich arbeite gerade an einem Projekt für die Schule, ein kleines Spiel. Dabei habe ich jetzt einen Hintergrund und ein Bild als Player eingefügt. Dieses kann ich mit WASD bewegen, jedoch brauche ich für das richtige Spiel beim betätigen der Tasten D und A das sich das Objekt rotiert. Dieses tut es auch jedoch liegt der Punkt an dem es sich rotiert außerhalb des eigentlichen Bildes und rotiert sich so nicht mittig. Wie kann ich jetzt einen "Anker Punkt" setzen an dem sich das Objekt rotiert?

Java:
package entity;

import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import main.GamePanel;
import main.KeyHandler;

public class Player extends Entity{

  GamePanel gp;
  KeyHandler keyH;
  public static int playerrotate =0;

 
  public Player(GamePanel gp, KeyHandler keyH) {
    this.gp = gp;
    this.keyH = keyH;
    
    setDefaultValues();
    getPlayerImage();
    
  }
 
  public double angle;
 
  public void setDefaultValues() {
    
    x = 100;
    y = 100;
    speed = 2;
    direction = "up";
  } 
 

 
 
 
 
  public void getPlayerImage() {
        /* try {
          //car = ImageIO.read(getClass().getResourceAsStream("res/player/Auto.png"));
         } catch(IOException e) {
          e.printStackTrace();
         }  // end of try */
  }
 
 
 
  public void update() {
    if(keyH.upPressed == true) {
      direction = "up";
      y = y - speed;
    }
    else if (keyH.downPressed == true) {
      direction = "up";
      y = y + speed;
    }
     else if (keyH.leftPressed == true) {
       direction = "left";
      
       playerrotate = playerrotate + 10;
      
       //x = x - speed;
     }
      else if (keyH.rightPressed == true) {
        direction = "right";
        
        playerrotate=playerrotate+10;
        
        
        //x = x + speed;
      } 
  }
  public void draw(Graphics2D g2) {
    //g2.setColor(Color.white);
    //g2.fillRect(x, y, gp.tileSize, gp.tileSize);
  
  
    
    try {
        BufferedImage image = ImageIO.read(new File("auto.png"));
        Graphics2D g2d = (Graphics2D) g2;
        AffineTransform transform = new AffineTransform();
        transform.rotate(playerrotate); 
        g2d.setTransform(transform);
        g2.drawImage(image, x, y, gp.tileSize, gp.tileSize, null);
       } catch(Exception e) {

       }

    
    
    
    
    
    /*switch(direction) {
    case "up":
      image = car;
      break;
    }*/
    
    //g2.drawImage(image, x, y, gp.tileSize, gp.tileSize, null);
  }
}
 

Oneixee5

Top Contributor
Man muss Breite zum X-Startpunkt und die Höhe zum Y-Startpunkt addieren, also zur Mitte des Rechtecks:
Java:
// rectangle - of image or GamePanel
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(45), rectangle.getX() + rectangle.width/2, rectangle.getY() + rectangle.height/2);
g2d.fill(transformed);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
JavaBeginner22 Punkt auf Gerade Java Basics - Anfänger-Themen 59
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
C Punkt oder Kommanotation. Java Basics - Anfänger-Themen 7
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T Punkt zeichnen auf sinus Java Basics - Anfänger-Themen 7
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
B Semaphoren in Abhängigkeit an Bedingungen richtig setzen Java Basics - Anfänger-Themen 3
L Methode in setText() setzen Java Basics - Anfänger-Themen 6
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
S NIO lesbares und beschreibbares Attribut setzen Java Basics - Anfänger-Themen 1
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
D Abstrakte Klasse, Konstruktorkette, Attribute setzen Java Basics - Anfänger-Themen 12
D Best Practice Konvention - Klassenmembers auf null setzen? Java Basics - Anfänger-Themen 2
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
das_leon JOptionPane Titel setzen Java Basics - Anfänger-Themen 1
P Cursor in JTextField setzen Java Basics - Anfänger-Themen 11
N wert für progress auf 100% setzen Java Basics - Anfänger-Themen 5
M Binären Baum Kinder setzen Java Basics - Anfänger-Themen 12
F Koordinaten nach 360° auf 0° setzen Java Basics - Anfänger-Themen 2
I Prozessname setzen Java Basics - Anfänger-Themen 8
S Das Anführungszeichen(") Zeichen in einen String setzen Java Basics - Anfänger-Themen 1
R Property Value als null setzen Java Basics - Anfänger-Themen 1
C Klassen Positionszähler auf Buchstaben setzen Java Basics - Anfänger-Themen 14
M Umgebungsvariable JDK/JRE? PATH setzen Java Basics - Anfänger-Themen 5
N Server Zeit zur lokalen Zeit setzen. Java Basics - Anfänger-Themen 0
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
I Date zu 01.01.<year> setzen Java Basics - Anfänger-Themen 1
M zufälliges Setzen von Schiffen in while klappt nicht immer Java Basics - Anfänger-Themen 3
C [Greasmonkey] Maus Coursor position setzen Java Basics - Anfänger-Themen 1
K Selbst renderndes Object auf null setzen Java Basics - Anfänger-Themen 1
M Umgebungsvariable JFileChooser#setCurrentDirectory via Properties setzen? Java Basics - Anfänger-Themen 5
M Wann PATH und wann JAVA_HOME in Windows System 7 setzen? Java Basics - Anfänger-Themen 2
M Die Breite bei der Gui richtig setzen. Java Basics - Anfänger-Themen 1
X Vererbung Setzen auf Null bei Subklassen Java Basics - Anfänger-Themen 2
N Fokus setzen nachdem JFrame in Vordergrund geholt wurde Java Basics - Anfänger-Themen 7
I Variablen Wie initialisiert man in Java eine Variable ohne das Setzen von 0 oder einer anderen Zahl? Java Basics - Anfänger-Themen 8
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
R Classpath Setzen von class Verzeichnissen Java Basics - Anfänger-Themen 2
H KeyListener auf ganzes Fenster setzen Java Basics - Anfänger-Themen 14
Ernesto95 BufferedImage Teilbereich wieder transparent setzen Java Basics - Anfänger-Themen 16
Jagson Dotcom Spiel - Dots Random setzen Java Basics - Anfänger-Themen 8
S Ermitteln und Setzen der Attribute eines Objektes Java Basics - Anfänger-Themen 6
N Erste Schritte Tausender Trennzeichen setzen Java Basics - Anfänger-Themen 5
J JRadioButton in JTable setzen Java Basics - Anfänger-Themen 4
A JLabel erst auf null dann auf einen Wert setzen Java Basics - Anfänger-Themen 7
H Panel in Variable setzen möglich? Java Basics - Anfänger-Themen 10
Helgon Focus setzen Java Basics - Anfänger-Themen 6
E Erste Schritte AbstractTableModel Werte setzen mit setValueAt Java Basics - Anfänger-Themen 10
B eclipse Oberfläche zurück setzen Java Basics - Anfänger-Themen 2
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
L Methoden In einer Klasse ein Attribut aus einer anderen Klasse setzen Java Basics - Anfänger-Themen 8
M TableColumn Breite setzen Java Basics - Anfänger-Themen 9
M Monat setzen Java Basics - Anfänger-Themen 18
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben