Hallo Community,
Ich arbeite seit längerem an einem Java Spiel. Das System vereinfacht: Ein Raumschiff (zentriert in der Mitte des Frames) fliegt durch den Weltraum. Es gibt Planeten, etc. Es gibt eine Minimap auf der man Planeten markieren kann und Waypoints setzen kann. War der Fall, dass sich das ausgewählte Objekt außerhalb des Bildrandes befand, so wurde der Waypoint einfach am Rand gezeichnet, so dass man auf das ziel zufliegen konnte.
Dies hat alles einwandfrei funktioniert bis ich die variable DIMENSION eingeführt habe. Da ich eine Fenstergröße von 1920x1200 px festgelegt habe und andere Leute möglicherweise einen kleineren Monitor haben musste ich die Größe veränderbar machen. Das ganze funktioniert so: Die DIMENSION (float (einstellbar von 0.6F - 1.4F)) Wird mit der Standardfenstergröße und mit der von allen Images multipliziert um alle Objekte einheitlich zu verkleinern/vergrößern. Das Problem: Bei veränderter Größe (also nicht bei DIMENSION = 1.0F) hat der Waypoint bereits sein Maximum erreicht, auch wenn er noch garnicht am Bildrand ist.
Als Alternative könnte ich mir auch Vorstellen, ein Dreieck zu zeichnen das sich im Kreis um mein Raumschiff bewegen kann und immer auf dem Waypoint zeigt.
Wenn ihr für diese Dinge Lösungen oder Tutorials kennt wäre ich extrem dankbar.
Ich benutze:
- Eclipse
- Java 8
lg BraunBerry
Ich arbeite seit längerem an einem Java Spiel. Das System vereinfacht: Ein Raumschiff (zentriert in der Mitte des Frames) fliegt durch den Weltraum. Es gibt Planeten, etc. Es gibt eine Minimap auf der man Planeten markieren kann und Waypoints setzen kann. War der Fall, dass sich das ausgewählte Objekt außerhalb des Bildrandes befand, so wurde der Waypoint einfach am Rand gezeichnet, so dass man auf das ziel zufliegen konnte.
Java:
if (Waypoint_X < 0){
WaypointDraw_X = 0;
}else if (Waypoint_X > Application.WIDTH){
WaypointDraw_X = (Application.WIDTH - (int) (16 * Application.DIMENSION));
}
if (Waypoint_Y < 0){
WaypointDraw_Y = 0;
}else if (Waypoint_Y > Application.HEIGHT){
WaypointDraw_Y = (Application.HEIGHT - (int) (16 * Application.DIMENSION));
}
Dies hat alles einwandfrei funktioniert bis ich die variable DIMENSION eingeführt habe. Da ich eine Fenstergröße von 1920x1200 px festgelegt habe und andere Leute möglicherweise einen kleineren Monitor haben musste ich die Größe veränderbar machen. Das ganze funktioniert so: Die DIMENSION (float (einstellbar von 0.6F - 1.4F)) Wird mit der Standardfenstergröße und mit der von allen Images multipliziert um alle Objekte einheitlich zu verkleinern/vergrößern. Das Problem: Bei veränderter Größe (also nicht bei DIMENSION = 1.0F) hat der Waypoint bereits sein Maximum erreicht, auch wenn er noch garnicht am Bildrand ist.
Als Alternative könnte ich mir auch Vorstellen, ein Dreieck zu zeichnen das sich im Kreis um mein Raumschiff bewegen kann und immer auf dem Waypoint zeigt.
Wenn ihr für diese Dinge Lösungen oder Tutorials kennt wäre ich extrem dankbar.
Ich benutze:
- Eclipse
- Java 8
lg BraunBerry
Zuletzt bearbeitet von einem Moderator: