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

Austausch | 
 

 Clonk bleibt nicht stehen

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Dark
Oberst
Oberst
avatar

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

BeitragThema: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

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

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

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

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

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

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Bowserkoopa
Staatsrat
Staatsrat
avatar

Männlich Alter : 23
Anmeldedatum : 21.12.08

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

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

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

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

funzt beides net Sad
Nach oben Nach unten
Benutzerprofil anzeigen
Gurkenglas
Oberst
Oberst


Anmeldedatum : 04.01.09

BeitragThema: Re: Clonk bleibt nicht stehen   Sa 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
Benutzerprofil anzeigen
Dark
Oberst
Oberst
avatar

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

BeitragThema: Re: Clonk bleibt nicht stehen   So 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
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: Clonk bleibt nicht stehen   

Nach oben Nach unten
 
Clonk bleibt nicht stehen
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» CHAT! Abwesenheitsnotiz wird nicht mehr angenommen..bleibt unsichtbar
» Flash viedeo???Bild bleibt stehen
» Howrse.de nicht erreichbar
» Anmeldung funktioniert nicht mehr
» Freundschaftsanfragen kommen nicht an

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