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  

 

 Clonk bleibt nicht stehen

Nach unten 
4 verfasser
AutorNachricht
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 12:58 am

ich erzeuge mir einen Clonk der mal önig werden soll mit:
Code:
pKing = CreateObject(CLNK, 1150, 730, -1);
danach soll der pKing ein stück laufen.

Dazu habe ich 2 Varianten getestet:
1.:
Code:
SetCommand(pKing, "MoveTo", 0, pKing->GetX() - 20);
2.:
Code:
SetCommand(pKing, "MoveTo", 0, 1130);

Bei beiden sollte pKing an der selben stelle stehen bleiben.
Aber anstatt stehen zu bleiben geht er immer von links nach rechts in einem Radius von 20px um den Punkt 1130 herum.

Was mache ich falsch?

In einem anderen Szen geht es nämlich.
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 1:11 am

Du könntest das, statt mit einem Kommando zu machen, auch anders lösen.
Du sagst dem König dass er laufen soll und hältst ihn kurz darauf wieder an.

Zitat :
ObjectSetAction(pKing, "Walk");
SetComDir(COMD_Left, pKing);
ScheduleCall(pKing, "SetComDir", 10, 0, COMD_None);
SetComDir setzt die Befehlsrichtung eines Objekts. Zuerst wird die auf Links gesetzt, der Clonk läuft nach links. Per ScheduleCall wird das zeitverzögert wieder zurückgesetzt, hier nach 10 Frames. Kannst ja rumprobieren, wieviele Frames es sein müssen, damits exakt hinkommt.
Nach oben Nach unten
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 1:36 am

egal wieviele Frames ich nehme der pKing bleibt net stehen. er gibt mir aber eine Fehlermeldung aus: ERROR: Undefined function: SetComDir
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 1:47 am

Ups. Das muss ScheduleCall(0, "SetComDir", 10, 0, COMD_None, pKing); heißen. Sonst sucht die Engine im Script vom König nach ner Engine-Funktion... :O
Nach oben Nach unten
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 2:01 am

Wird SetComDir() sonst zu wenige Parameter übergeben?
Ich hatte mich schon gefragt, woher SetComDir beim 2. Mal wissen soll Auf wen Sie den Befehl anwenden soll. Razz
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 2:37 am

Nunja, wenn eine Funktion in einem Objekt ausgeführt wird, ist bei nicht angegebenem Objekt meist das Aufrufende Objekt gemeint. zB funktioniert in einem Clonk GetX() genauso wie GetX(this).
Der Fehler lag vielmehr darin, dass die Funktion dann im Clonk nach der Funktion SetComDir() sucht - die gibts da natürlich nicht, denn das ist eine Engine-Funktion, die global aufgerufen werden muss... ja, ein Nachteil von Call und Verwandte.
Nach oben Nach unten
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 1:24 pm

jetzt gibt er kein Warning mehr aus sondern läuft trotzem einfach weiter. er findet aber die Funktion was schonmal gut ist^^

Code:

ObjectSetAction(pKing, "Walk");
SetComDir(COMD_Left, pKing);
ScheduleCall(0, "SetComDir", 10, 0, COMD_None, pKing);
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 2:49 pm

versuchs mal mit COMD_Down, oder pKing->ScheduleCall(0,"ControlDown",10);
Nach oben Nach unten
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 6:32 pm

funzt beides net Sad
Nach oben Nach unten
Gurkenglas
Oberst
Oberst



Anmeldedatum : 04.01.09

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySa Jul 10, 2010 9:49 pm

Bei deinem ersten Ansatz hast du nicht die Pixelspalte 1130 angesteuert, sondern den Punkt (1130|0), der am oberen Bildschirmrand über dem eigentlichen Zielpunkt liegt, denn du hast den y-Parameter von SetCommand nicht angegeben, womit er 0 wurde. Das selbe Verhalten erzeugst du, wenn du mit der Maussteuerung einen Punkt so ansteuerst, dass der Clonk einen Überhang erklettern müsste, er versucht, der oberen Rand der Klippe zu erreichen und läuft deshalb unten hin und her Wink.
Wenn du den Clonk anhalten lassen willst, solltest du besser pKing->SetComDir(COMD_None()); nehmen.
Nach oben Nach unten
Dark
Oberst
Oberst
Dark


Männlich Alter : 29
Ort : Deutschland/Frankfurt Main
Anmeldedatum : 07.07.10

Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen EmptySo Jul 11, 2010 12:53 am

mit pKing->SetComDir(COMD_None()); gehts. Juhu. danke

Und wenn der nun eine Pixelspalte ansteuern soll. wie mache ich es dann?

muss ich dann z.B. so angeben: SetCommand(pKing, "MoveTo", 0, 1130, 100); ?
Nach oben Nach unten
Gesponserte Inhalte





Clonk bleibt nicht stehen Empty
BeitragThema: Re: Clonk bleibt nicht stehen   Clonk bleibt nicht stehen Empty

Nach oben Nach unten
 
Clonk bleibt nicht stehen
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Clonk wird nicht mehr verwundbar
» Clonk nicht bewegbar
» Winkel stimmen in Clonk nicht?

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