Die Überschift sagt eigentlich alles.
Ich versuche gerde mein Sprite bis zur Maus entlang laufen zu lassen, leider weis ich nicht ganz wie ich das anstellen soll.
Ich habe die Funktion Linie2D gefunden. Eine Linie ist ja nichts anderes als eine Gerade, lassen sich damit auch Funktionswerte bestimmen?
Falls nicht bleibt mir ja immer noch die Funktion manuel zu berechnen mit den zwei Punkten die ich habe (Sprite und Maus). Jedoch klappt das leider nicht vllt. übersehe ich gerade ein Fehler in meiner Formel:
[Java]
public void update(long elapsedTime){
super.update(elapsedTime);
if(target != null){
double m = (target.getY() - getY()) / (target.getX() - getX());
double b = -m * getX() + getY();
setVelocityX(0.05F);
setY(Math.round(m*getX()+b));
if(getX() == target.getX()){
target = null;
setVelocityX(0);
}
if(getVelocityX() > 0){
setAnim(right);
}
}[/Java]
oder ich muss X/Y irgendwie anders Setzen
mfg. Dagobert
Ich versuche gerde mein Sprite bis zur Maus entlang laufen zu lassen, leider weis ich nicht ganz wie ich das anstellen soll.
Ich habe die Funktion Linie2D gefunden. Eine Linie ist ja nichts anderes als eine Gerade, lassen sich damit auch Funktionswerte bestimmen?
Falls nicht bleibt mir ja immer noch die Funktion manuel zu berechnen mit den zwei Punkten die ich habe (Sprite und Maus). Jedoch klappt das leider nicht vllt. übersehe ich gerade ein Fehler in meiner Formel:
[Java]
public void update(long elapsedTime){
super.update(elapsedTime);
if(target != null){
double m = (target.getY() - getY()) / (target.getX() - getX());
double b = -m * getX() + getY();
setVelocityX(0.05F);
setY(Math.round(m*getX()+b));
if(getX() == target.getX()){
target = null;
setVelocityX(0);
}
if(getVelocityX() > 0){
setAnim(right);
}
}[/Java]
oder ich muss X/Y irgendwie anders Setzen
mfg. Dagobert