CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Nötige Geschwindigkeit zu angegebenem Punkt ermitteln

Nach unten 
4 verfasser
AutorNachricht
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo 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));

SetXDir(GetX(Suchpunkt)-GetX(pBowser),this);
SetYDir(GetY(Suchpunkt)-GetY(pBowser),this);

while(!FindObject2(Find_ID(KI_R),Find_Distance(2)))
{
SetXDir(GetX(Suchpunkt)-GetX(pBowser),this);
SetYDir(GetY(Suchpunkt)-GetY(pBowser),this);
}

SetXDir();
SetYDir();


}
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo Jun 24, 2010 5:42 pm

Zitat :
while(!FindObject2(Find_ID(KI_R),Find_Distance(2)))
Endlosschleife. Der Tod jeder Maschine. Very Happy
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.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo 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));

SetXDir(GetX(Suchpunkt)-GetX(pTarget),this,50);
SetYDir(GetY(Suchpunkt)-GetY(pTarget),this,50);
}

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?
Nach oben Nach unten
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo 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!
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo Jun 24, 2010 6:34 pm

Oder wenn die Timer-Funktion -1 zurückgibt.
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptyDo 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".
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln EmptySa 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.
Nach oben Nach unten
Gesponserte Inhalte





geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty
BeitragThema: Re: Nötige Geschwindigkeit zu angegebenem Punkt ermitteln   geschwindigkeit - Nötige Geschwindigkeit zu angegebenem Punkt ermitteln Empty

Nach oben Nach unten
 
Nötige Geschwindigkeit zu angegebenem Punkt ermitteln
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: