Hallo zusammen,
ich bin seit ich mir die Basics von C# beigebracht habe von der objektorientierten Programmierung beeindruckt und war froh als mir Java eine sehr ähnliche Syntax bot. Nach einigen Tests usw. möchte ich nun noch ein wenig weitergehen und kleine 2D-Minigames schreiben.
Dafür nutze ich die Slick2D API, mit welcher ich auch bereits gut umgehen kann, nachdem ich einige Testprogramme/-Menüs erstellt habe.
Die API hat jedoch mit meinem Problem eigentlich nichts zu tun.
Für eine schräge Bewegung ist Trigonometrie notwendig. Dafür nutze ich aktuell folgendes:
Nachdem mir auffiel, dass die Kugel sich nicht gerade nach oben bewegt - wie anzunehmen -, sondern leicht schräg nach links habe ich mir die Werte der Rechnung ausgeben lassen.
Die Konsole gab mir dann folgendes aus:
Ich bin mir sicher, dass dies nur ein kleiner (Anfänger-)fehler ist, doch kann ich ihn beim besten Willen nicht finden.
Hoffentlich kann mir jemand kurz unter die Arme greifen.
Danke im Voraus
Padarom
ich bin seit ich mir die Basics von C# beigebracht habe von der objektorientierten Programmierung beeindruckt und war froh als mir Java eine sehr ähnliche Syntax bot. Nach einigen Tests usw. möchte ich nun noch ein wenig weitergehen und kleine 2D-Minigames schreiben.
Dafür nutze ich die Slick2D API, mit welcher ich auch bereits gut umgehen kann, nachdem ich einige Testprogramme/-Menüs erstellt habe.
Die API hat jedoch mit meinem Problem eigentlich nichts zu tun.
Für eine schräge Bewegung ist Trigonometrie notwendig. Dafür nutze ich aktuell folgendes:
Java:
float posX, posY;
// ...
direction = 90;
// ...
posX += step*Math.cos(direction);
posY -= step*Math.sin(direction);
Java:
System.out.println("Eigentlich: .5*cos(90) = 0 | Spiel: " + step*Math.cos(direction));
Code:
Eigentlich: .5*cos(90) = 0 | Spiel: -0.2240368080645851
Ich bin mir sicher, dass dies nur ein kleiner (Anfänger-)fehler ist, doch kann ich ihn beim besten Willen nicht finden.
Hoffentlich kann mir jemand kurz unter die Arme greifen.
Danke im Voraus
Padarom