Hi,
wir müssen nun in der Schule ein kleines Java-"Spiel" entwickeln und natürlich auch alles dazu erklären können. Unsere Gruppe entschied sich für eine Art Tower-Defesne mit nur einem Turm. =D
Der Turm befindet sich in der Mitte des Fensters, dreht sich immer in Richtung des Mauszeigers und schießt auch in diese. Die Formel zum drehen haben wir schon und zum Bewegen der Schüsse auch soweit. Unser Problem ist nun, das ganze in Java umzusetzen. Die Formel ist dabei ja noch einfach. Allerdings wirds beim drehen des Objekts schon schwierig.
Soweit ich festgestellt habe, ist die Formel zum bewegen sowieso noch nicht ganz ausgereift. Wobei ich allerdings nicht weiß, ob es an Java oder der Formel liegt.
Zum Drehen benutzen wir in etwa diese:
Debug messages helfen mir leider auch nicht wieter, da diese mir zum Teil völlig (für mich) unlogische Ergebnisse angeben.
Zum Bewegen diese Formel:
Ich denke das ist so richtig. Die original-formel hab ich nur in der Schule. >.<
Wenn ich das Objekt nun bewege, kommen komische Winkel raus und das Objekt bewegt sich jedenfalls nicht dahin, wo es hin soll.
Und noch eine Frage:
Wie kann man eine Canvas in Java drehen?
Danke schonmal im Vorraus
Morpheyz
wir müssen nun in der Schule ein kleines Java-"Spiel" entwickeln und natürlich auch alles dazu erklären können. Unsere Gruppe entschied sich für eine Art Tower-Defesne mit nur einem Turm. =D
Der Turm befindet sich in der Mitte des Fensters, dreht sich immer in Richtung des Mauszeigers und schießt auch in diese. Die Formel zum drehen haben wir schon und zum Bewegen der Schüsse auch soweit. Unser Problem ist nun, das ganze in Java umzusetzen. Die Formel ist dabei ja noch einfach. Allerdings wirds beim drehen des Objekts schon schwierig.
Soweit ich festgestellt habe, ist die Formel zum bewegen sowieso noch nicht ganz ausgereift. Wobei ich allerdings nicht weiß, ob es an Java oder der Formel liegt.
Zum Drehen benutzen wir in etwa diese:
Code:
int a = jLabel1.getX() - mousePos.x;
int b = jLabel1.getY() - mousePos.y;
double ang = Math.atan2(a,b);
double dir = ang/(Math.PI/180); //Ich weiß nicht, ob das noch nötig ist. =O
Debug messages helfen mir leider auch nicht wieter, da diese mir zum Teil völlig (für mich) unlogische Ergebnisse angeben.
Zum Bewegen diese Formel:
Code:
int speed = 10;
int x_speed = Math.cos(ang) * speed;
int y_speed = Math.sin(ang) * speed;
int x_pos = jLabel1.getX();
int y_pos = jLabel1.getY();
jLabel1.setLocation(x_pos + x_speed , y_pos + y_speed);
Ich denke das ist so richtig. Die original-formel hab ich nur in der Schule. >.<
Wenn ich das Objekt nun bewege, kommen komische Winkel raus und das Objekt bewegt sich jedenfalls nicht dahin, wo es hin soll.
Und noch eine Frage:
Wie kann man eine Canvas in Java drehen?
Danke schonmal im Vorraus
Morpheyz