charakter1 hebt ab, 2 guckt zu
- shogun
- Komplettlösungsnutzer
- Beiträge: 32
- Registriert: 23.09.2004, 17:40
- Wohnort: berlin
charakter1 hebt ab, 2 guckt zu
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!
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
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
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)
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"
- shogun
- Komplettlösungsnutzer
- Beiträge: 32
- Registriert: 23.09.2004, 17:40
- Wohnort: berlin
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Ganz normal unter run script (natürlich unter dem richtigen run scriptcharacter[EGO].x
funktioniert allerdings nicht?!ich geb das ganz normal unter run-script ein , oder? müsste ich danach
int x;
einfügen?
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"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
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)danke, werd ich gleich mal probieren!
du bist ja echt so`n guter forumsgeist hier!
Ich bin also ein "Guter Forumsgeist"? Echt nette Aussage!
Ich wußte gar nicht, dass man in einem Forum so schnell so bekannt werden kann und so viel Lob bekommt.
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"