charakter1 hebt ab, 2 guckt zu

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
shogun
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 23.09.2004, 17:40
Wohnort: berlin

charakter1 hebt ab, 2 guckt zu

Beitrag von shogun »

hi,
wie kann man das realisieren ?
womit kann man den charakter direkt auf einen punkt, der "im himmel" liegt, senkrecht nach oben zubewegen ? steht der charakter zufällig gerade in der rechten ecke des bildes, würde er sich bei einem zielpunkt in "oberer bildrand in der mitte" ja schräg nach oben bewegen, soll aber einfach senkrecht nach oben.

während der eine charakter diese bewegung macht , soll der andere zuschauen. funktioniert das gleichzeitig, sobald die nach-oben-flieg-animation non-blocking ist?

dank euch und einen guten wochenenstart!
eat mo plastic
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Beitrag von DernetteEddy »

Setz den Y Wert doch einfach so extrem hoch (z.B. 5000) das man das schräge "nach oben starten" gar nicht mehr so war nimmt.
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Ich hab erst mal ne kurze Frage, was genau du willst: Soll der Character erst unter den entsprechenden Punkt laufen und dann "hochfliegen" oder soll er egal wo er ist senkrecht nach oben?
Wenn er einfach senkrecht nach oben soll ist das ganz einfach: Mit character[charid].x kannst du den momentanen x-Wert des Charakters abrufen. Den Wert speicherst du in einem int zwischen (vielleicht kannst du auch direckt die Abfrage verwenden, aber ich glaub mit nem int ist es besser) und dann schreibst du MoveCharacter (charid, deinen int, den y-Wert wo er hin soll);

Soweit ich weiß müsste das gleichzeitig funktionieren, damit dürfte es bei non-blocking soweit ich weiß keine Probleme geben. Korigiert mich, wenn ich hier falsch liege)
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
shogun
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 23.09.2004, 17:40
Wohnort: berlin

Beitrag von shogun »

hast du genau richtig verstanden. einfach nach oben starten wo er steht..


character[EGO].x

funktioniert allerdings nicht?!ich geb das ganz normal unter run-script ein , oder? müsste ich danach

int x;

einfügen?
eat mo plastic
Benutzeravatar
shogun
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 23.09.2004, 17:40
Wohnort: berlin

Beitrag von shogun »

DernetteEddy hat geschrieben:Setz den Y Wert doch einfach so extrem hoch (z.B. 5000) das man das schräge "nach oben starten" gar nicht mehr so war nimmt.
auch ne gute idee!
eat mo plastic
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

character[EGO].x

funktioniert allerdings nicht?!ich geb das ganz normal unter run-script ein , oder? müsste ich danach

int x;

einfügen?
Ganz normal unter run script (natürlich unter dem richtigen run script :wink:
aber nein, das mit dem int hast du glaub ich ein bischen falsch verstanden. Du musst folgendes eingeben:
am anfang des room (oder global) script:
int fliegen; //oder wie auch immer du ihn nennen willst.
Dann bei der entsprechenden function (also z.B. wenn der Spieler einen bestimmten Hotspot anklickt:
fliegen=character[EGO].x; //definiert fliegen als den momentanen x-Wert des cha
MoveCharacter (EGO, fliegen, y-Wert);

danach dann halt noch alles andere was passieren soll.

Ich empfehle allerdings vor dem fliegen=... noch einzufügen:
StopMoving (EGO); weil die Positionsabfrage nur verwendet werden sollte wenn der Character steht, sonst kann es zu seltsamen Effekten kommen odr das Spiel sogar aussteigen. Wenn du noch mehr Informationen zu der Positionsabfrage brauchst findest du es im Manual unter "global variable" (da stehn auch noch ein paar andere Sachen, die ich recht nützlich find.)
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
shogun
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 23.09.2004, 17:40
Wohnort: berlin

Beitrag von shogun »

danke, werd ich gleich mal probieren!
du bist ja echt so`n guter forumsgeist hier! O:)
eat mo plastic
Benutzeravatar
shogun
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 32
Registriert: 23.09.2004, 17:40
Wohnort: berlin

Beitrag von shogun »

hat geklappt, alles super! :D
eat mo plastic
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

danke, werd ich gleich mal probieren!
du bist ja echt so`n guter forumsgeist hier!
Freut mich, dass es funktioniert. Ich hatte letztes Mal was vergessen zu schreiben: Der Vorschlag mit dem y-Wert sehr hoch setzen ist im Grunde auch gut (und mit Sicherheit einfacher) aber dennoch muss ich ein ganz klein wenig Kritik dazu äußern (ein Grund warum man es zwar vielleicht hier verwenden kann aber häufg nicht): Wenn man das so macht, dann bewegt sich der Cha zwar nach oben, aber eben ganz nach oben, was zu einem Problem führt, wenn der Cha eben nicht nach ganz oben soll sondern zum Beispiel nur auf halbe Höhe. (nichts für ungut DernettEddy, wollt es nur kurz erwähnen)

Ich bin also ein "Guter Forumsgeist"? Echt nette Aussage! :D
Ich wußte gar nicht, dass man in einem Forum so schnell so bekannt werden kann und so viel Lob bekommt. :D
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Antworten