PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit dem "Move with Map"-Befehl



faucon
05.06.2007, 16:37
Ich habe im Moment ein seltsames Problem. Ich will ein Bild an einer bestimmten Stelle einer größer-als-20x15-Map anzeigen lassen und will, dass sich dieses von dieser Stelle nicht mehr bewegt. Dazu habe ich die richtigen Koordinaten angegeben und einen Haken bei "Move-with-Map" gemacht.

So weit, so gut. Nun aber mein Problem: Die Map soll logischerweise von verschiedenen Seiten aus betreten werden können, allerdings wird das Bild nur an der korrekten Position angezeigt, wenn die Map oben links betreten wird, was wohl daran liegt, dass nur dann die Koordinaten von dortaus berechnet werden. Wird die Map weiter unten oder rechts betreten, wird das Bild entsprechend verschoben angezeigt. Um dies zu verhindern, habe ich folgendes geskriptet:

--> Speichern der Koordinaten, an der sich der Spieler momentan befindet
--> Teleport an die 0/0-Stelle der Map
--> Entsprechendes Bild anzeigen
--> Teleport zurück an die Ausgangskoordinaten
--> Bildschirm aufhellen

Das funktioniert allerdings nicht. Das Bild wird trotzdem hartnäckig mit der Verschiebung angezeigt, als hätte der Spieler die Map an der Stelle betreten, an der er sie eben betreten hat. Lässt man den "an-die-Ausgangskoordinaten-zurück-Teleport" weg, wird das ganze korrekt angezeigt, der Spieler befindet sich dann natürlich aber auf Punkt 0/0.

Wäre nett wenn mir jemand helfen könnte,
Schlaftablette

Greyce
05.06.2007, 20:46
Könntest du uns einen Screenshot der Map machen.
Wäre zur Veranschaulichung recht gut ^^
Oder wenn möglich gleich das ganze Projekt.
So kann man vll. besser sehen wo der Fehler ist.

faucon
05.06.2007, 21:06
Öhm...nein. Ich will das Projekt nicht öffentlich machen. Mir ging es mehr darum ob jemand schon mal einen ähnlichen Fehler hatte bzw. weiß woran es liegt. Das ein Fehler im Skript ist halte ich für unwahrscheinlich.

GSandSDS
05.06.2007, 23:47
Gib doch je nachdem von wo du kommst, explizit andere Koordinaten an. Das könnte man mit einer bestimmten Variable machen, die kurz vor dem Teleport zu dieser Map einen bestimmten Wert erhält. Je nach Wert wird das Bild dann bei anderen Koordinaten angezeigt. O.o

faucon
06.06.2007, 14:34
Problem dabei ist nur, dass ich beispielsweise eine 60x40-Map mit ~15 Teleports, auf drei Stellen verteilt habe. Da ich immer genau teleportiere (ist der Teleport ein Feld weiter oben, kommt der Spieler auch ein Feld weiter oben raus), wird das Ganze dann extrem viel Arbeit. Und mich wundert es einfach, dass die einfache Variante nicht funktioniert -.-

Edit: Ich habe wohl den Fehler. Dass "den Spieler zurück an die Ausgangsposition setzen" wird ebenfalls als Teleport gewertet und das Clear-Timer-Event wird danach nochmal ausgeführt. Trotzdem Danke für die Hilfe.

Stoep
09.06.2007, 00:01
Öhm, erstelle doch einfach ein leeres Event in der Mitte der Map und nenne es z.B. "Picture-Position", Dieses Event setzt du auf Parallel Process und speicherst darin dann dessen Scene-X- und Scene Y-Werte. Dann lässt du dein großes Bild auf diesen Koordinaten anzeigen. Warscheinlich wird es anfangs nicht ganz passen aber dann passt du die Scene-Werte einfach an. Wird das BIld z.B. 8Pixel zu weit unten angezeigt dann setzte die Variable für den Scene-Y-Wert "-8".

So müsste das dann gehen. Egal von wo aus du die Map betrittst.

Gruß
Stoep