Nötige Geschwindigkeit zu angegebenem Punkt ermitteln
4 verfasser
Autor
Nachricht
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Do Jun 24, 2010 5:04 pm
In letzter Zeit bin ich ja in richtiger Entwickler Stimmung^^ Also diesmal gehts um folgendes. Ein Clonk soll die nötige Geschwindigkeit für X und Y errechnen, die er braucht um von seiner Position aus, zu einer anderen zu kommen. Schwerkraft muss dabei nicht berücksichtigt werden, denn der Clonk befindet sich im schwerelosen Raum(Zero-Gravity-Zone, anyone?) Mein Versuch endet nicht gerade wirklich gut, denn CR tötet sich beim Aufrufen nach 5 Sekunden von selbst(einige Logs werden ausgespuckt aber der Clonk bewegt sich nicht) und endet mit "keine Rückmeldung"
Code:
protected func KIFire(pBowser) { var Suchpunkt = FindObject2(Find_ID(KI_R));
Endlosschleife. Der Tod jeder Maschine. while() arbeitet alles in einem Frame ab. Notfalls dadurch, dass der Frame länger dauert - oder gar nicht beendet wird. Endlosschleife, Endlosframe. Du brauchst vielmehr einen Aufruf, der zB in jedem Frame gestartet wird und dann die Geschwindigkeit berechnet.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Do Jun 24, 2010 5:50 pm
Alles in einem Frame? Dann ist das ja klar^^ Ich dachte jeden Frame wird das dann durchgegangen. Ich glaub ich weiß schon wozu du mir raten würdest, und zwar zu einem Effekt, aber das wäre das erste mal dass ich sowas anwendne würde.
EDIT: wow, der erste Versuch ist ja schon ein Erfolg^^
Code:
protected func KIFire(pBowser) {
AddEffect("KIFireHelper", this, 1, 2, this);
}
protected func FxKIFireHelperTimer (object pTarget) { var Suchpunkt = FindObject2(Find_ID(KI_R));
Aber wie kann ich dann den Effekt am besten wenn der Clonk an der richtigen Position ist, wieder stoppen lassen? Kann denn ein Effekt sich selbst stoppen?
Pitri Feldmarschall
Alter : 30 Ort : Karlsruhe Anmeldedatum : 02.03.09
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Do Jun 24, 2010 6:15 pm
Bowserkoopa schrieb:
Kann denn ein Effekt sich selbst stoppen?
Ja indem man mit dem Effekt iwann eine Funktion aufruft, in der
Code:
RemoveEffect("KIFireHelper",this);
steht!
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Do Jun 24, 2010 6:34 pm
Oder wenn die Timer-Funktion -1 zurückgibt.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Do Jun 24, 2010 7:04 pm
Du kannst auch mit Angle() den Winkel Ausrechnen und dann die X-Geschwindigkeit mit SetXDir(Sin(angle,speed)) und die Y-Geschwindigkeit mit SetYDir(-Cos(angle,speed)) setzen und dann bewegt sich das Object mit Geschwindigket "speed" in Richtung des winkels "angle".
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Sa Jun 26, 2010 5:06 pm
So, jetzt sind alle Effekte geschrieben, aber jedes mal wenn ein neuer Effekt aufgerufen wird, wird der alte nicht immer gelöscht. Die Effekte geben die Logs Mitte und Rechts aus, und manchmal(das verwirrt eben, weil es ist nicht immer) bewegt sich das Objekt nicht mehr und es werden die Logs Mitte und Rechts zusammen ausgespuckt. EDIT: Problem gelöst indem ich eine Hilfsfunktion eingeschoben habe, die wirklich jeden Effekt löscht.
Gesponserte Inhalte
Thema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln
Nötige Geschwindigkeit zu angegebenem Punkt ermitteln