Du könntest doch einfach einen weiteren Actor ähnlich wie "Evaluation" erstellen, dem den Satelliten übergeben und den dann jedes mal bei act() entsprechend Punkte setzen lassen.
Druckbare Version
Du könntest doch einfach einen weiteren Actor ähnlich wie "Evaluation" erstellen, dem den Satelliten übergeben und den dann jedes mal bei act() entsprechend Punkte setzen lassen.
das Problem ist ja, dass die act()-Methode, durch einen Neuaufruf einer Methode die Zeichnen soll, dass gezeichnete durch eine neue Zeichnung ersetzt. Wenn ich also nun eine neue Klasse anlegen würde, die die Aufgabe hat alle Punkte zu zeichnen, wäre immer nur der aktuelle Punkt zu sehen.
Dann würde ich mit Queues arbeiten. Die werden ja von Java schon als Templateklasse zur Verfügung gestellt und du könntest die zu zeichnenden Punkte dort eintragen.
Sollte die Schlange zu voll werden, so kannst du ja beim Einfügen gleich wieder ein Element entfernen. Das läuft ja so, dass zuerst entfernt wird, was zuerst rein kam. Also würde dein Satellit einen langen "Schweif" wie ein Komet hinter sich herziehen, der ab einer gewissen Länge abbricht. Ist die Länge lang genug, so wirst du bei elliptischen Bahnen auch stets eine völlig gezeichnete Ellipse haben.
Wirklich aufwändig zu implementieren ist das nicht.
hab eine Coordinatenklasse angelegt, die jeweils ein x und ein y Wert hat. Evaluation erzeugt eine ArrayList<Coordinate>, womit sich die Punkte die gezeichnet werden sollen gespeichert werden können.
Er zeichnet solange bis die geflogene Distanz größer als 2*pi*Entfernung ist, oder er diesen Punkt schon registriert hat. Kostet zwar viel Speicher, aber funktioniert größtenteils.
so alle Probleme gelöst, kann geclosed werden!
Vielen dank nochmal an Blackberry!