# Greenfoot Verfolgen



## Schueler12321 (1. Jul 2011)

Hi,
wir müssen für die Schule ein Project machen und ich hab mir vorgenommen ein Hack n Slay zu basteln...

Bis jetzt habe ich Figur1, die vereinfacht so aussieht:

```
public class figur1 extends Actor
{
     public void act()
     {
          move();
      }

     public void move()
     {
        ...
     }
}
```

und Figur2:

```
public class figur2 extends Actor
{
     public figur1 Figur1;
     public int ziel1;
     public int ziel2;
     public int X;
     public int Y;
     
     public void act()
     {
        ziel1 = Figur1.getX();
        ziel2 = Figur1.getY();
        folgen();
      }

     public void flogen()
     {
          if(ziel1 > getX())
          { X=1;}
          else
          {X=-1;}

           if(ziel2 > getY())
          { Y=1;}
          else
          {Y=-1;}
  
          setLocation(getX()+X,getY()+Y);
      }
}
```

Eigentlich soll Figur2 Figur1 verfolgen. Ich hab ein paar Tests gemacht, bei denen ich statt ziel1/2 zahlen eingesetzt habe und die Figur dann hingelaufen ist. Jetzt wo ich versucht habe die X und Y-Koordinaten von Figur1 zu bekommen, geht es nicht mehr. Kann mir vieleicht wer weiterhelfen?
Danke schon mal im vorraus


----------



## SlaterB (1. Jul 2011)

[c]public figur1 Figur1;[/c]
ist ja bemerkenswert, so doppelt schlecht habe ich die Benennung glaube ich noch nicht gesehen,

Klassen groß schreiben, Variablen klein! siehe auch gerade von heute
http://www.java-forum.org/awt-swing-swt/120922-jpanel-zwei-methoden-her-beschreiben.html#post780533
+ folgende Posts

-------

ansonsten ist zu deinem Programm mit dem wenigen Code quasi nichts zu erkennen


----------



## Marco13 (1. Jul 2011)

Und sie flogen und flogen... 

Du solltest beschreiben, wie dieses Flogen genau ablaufen sollten. Die eine könnte der anderen flogen, indem sie ihre Position abfragen kann ... oder mit irgendwas Listener-artigem, da bräuchte man mehr infos...


----------



## Schueler12321 (1. Jul 2011)

Ok, sry, es tut mir leid, dass ich die Bennenung nicht nach den Regel gemacht habe und der schreibfehler... ich habs halt schnell runtergeschrieben  
Also eigentlich sollte die figur2 der figur1 folgen indem sie die Koordinaten von dieser nach jedem act neu bekommt und in "flogen"  geschaut wird wie Location geändert werden muss.
Der Fehler lieg denke ich mal bei 
[c]ziel1 = Figur1.getX();[/code]
weil es, wenn ich auf run drücke erst einen Fehler meldet "java.lang.NullPointerException     at...",
außerdem geht alles, wenn ich statt ziel1/2 irgentwelche Zahlen nehme.
Gibt es vieleicht einen anderen Weg die Koordinaten von Figur1 zu bekommen?


----------



## SlaterB (1. Jul 2011)

bisher weiß niemand das Figur1 ist, zufällig eine JComponent in einer Swing-GUI?
poste doch ein komplettes Programm zum Ausprobieren,

der Thread sollte anfangs vielleicht ne Sekunde warten bis die GUI initialisiert ist, falls er direkt zum Programmstart loslegt


----------



## Schueler12321 (2. Jul 2011)

So ich hab ein mal Test scenarion hochgeladen:
Greenfoot Gallery | test_folgen


----------



## SlaterB (2. Jul 2011)

jetzt im dritten Post verrätst du auf indirektem Wege, dass es um irgendwas ganz spezielles namens Greenfoot geht, 
was 99.9% der Welt überhaupt nicht kennt..,

schon 
Greenfoot Gallery | Discuss
versucht?


----------

