-
Schwertmeister
Tja, da gibt es mehrere Möglichkeiten.
Ich hatte das Problem nicht mit der Bewegung des Helden, sondern mit der des Gegners...
In meinem Script habe ich ein einfaches System mit 4 Events verwendet. Es ist in etwa das selbe, wie Rash das gesagt hat, nur ein bischen anders.
Du positionierst die 4 besagten Events auf dem Helden und lässt sie dann Per "Move-Event" bewegen ("Ignore if cant be moved" nicht vergessen). Jedes in eine Richtung (also oben, unten, rechts und links). Dann machst du einen Switch an. Die verschobenen Events haben eine zweite Seite, die genau diesen Switch braucht. Auf dieser zweiten Seite haben sie dann z.B. das Aussehen von einem Roten Kästchen. Als Code steht da einfach nur ein "Move-Event" für den Helden (jenachdem in welche Richtung du das Event verschiebst ein "move up" (wenn du nach oben verschoben hast) ein "move down" (wenn du nach unten verschoben hast) usw. (natürlich legst du einmal fest welches Event du wohin verschiebst)) und ein "Change Variable: "Schritte" -1". Danach dann noch eine Fork, die abfragt, ob man nur noch 0 Schritte hat, wenn ja beendet man den Zug.
Eigentlich brauchst du 4 Switches. Für jedes Event einen. Im Code fragst du dann erst die Position des ersten Events ab und verschiebst es dann. Sind die Koordinaten die gleichen wie vorher (also die die du in den Variablen eingespeichert hast) lässt du den Switch für das Event aus und setzt es wieder auf seine ursprüngliche Position (möglichst ein Feld wo sich niemand hin bewegen kann, da die Events ja auf "Same Level as Hero" stehen und sonst Gegner und Helden blockieren würden). Das gleiche machst du dann mit den anderen drei Events.
Schon bist du mit der Beweung des Helden ferig (berücksichtige allerdings, dass wen die Schritte nicht auf 0 sind, das ganze nochmal gemacht werden muss). So kann man das Graphisch recht überzeugend rüberbringen. Ein Nachteil ist nur, dass es sehr lange dauert den Helden auf diese Weise um 6 Felder zu bewegen.
Hier dann noch Screens zur Verdeutlichung:
(Das grüne Ding ist der Cursor also einfach ignorieren)


Das tolle an diesem System ist, dass du es in jeden x-beliebigen Labyrinth benutzen kannst und es trotzdem funktioniert. Außerdem ist es recht einfach zu verstehen.
Ein anderes System, das deinen Wünschen warscheinlich eher entsprechen würde hätte ich auch noch. (Ist mir gerade so eingefallen). Du brauchst 4 Events plus nochmal so viele Events wie maximal in deinem Spiel möglich sind. (Also in deinem Fall 6, insgesammt dann 10) Es erinnert vom Prinzip her ein bischen an das Farbenrätsel in VD2 (der Trailer von der Nato) wo man Plallen auf dem Boden in der richtigen Reihenfolge betreten muss, damit sich eine Tür öffnet.
Allgemein gesehen ist es auch dem vorher genannten System recht ähnlich, nur dass sich der Held zwischendurch nicht bewegt, und du erst den ganzen Weg festlegst.
Also, dass funktioniert so:
Zuerst legst du ein Pic um den Helden, dass die Maximale Bewegungsrate des Helden anzeigt (also 6 Felder in jede Richtung). Dieses Pic sollte in etwa die selbe Farbe haben wie deine (gleich noch in Verwendung kommenden) Bewegungsevents. Nur dass es etwa 40-50% Transparent ist.
Dann setzt du die 4 Bewegungsevents um den Helden herum. Diese enthalten eine Fork in der eine Variable "Bewegungsverbrauch" (oder ähnlich) abgefragt wird. Ist sie auf 0 setzt du das erste der 6 anderen Events auf die Position des Events, dass berührt wurde (sinnigerweise nennst du dieses erste Event "Schritt 1"). Dann rechnest du der Variable "Bewegungsverbrauch" eins hinzu. (das "Schritt 1" Event hat eine zweite Seite mit der Bedingung, dass die Variable "Bewegungsverbrauch" über 1 ist) Danach dann noch eine "Schritte -1" Change Variable. Wieder eine Fork, wenn Schritte = 0 dann Zug zuende und "Call Event: Bewegung" (dazu komme ich gleich). Ist Schritte nicht gleich 0 fragst du die Position des zuletzt gesetzen Schritt Events ab und setzt wieder die 4 Events um diese Position. Da kommt dann nochmal genau das gleiche nur halt mit "Schritt 2". So geht das dann weiter bis alle Schritte verbraucht sind und du am Ende eine schöne Schlange hast (siehe auch Screens). Danach kommt dann ja wie bereits gesagt dass "Call Event: Bewegung". In diesem wird einfach (per Variable) abgefragt, welches das nächste Schritt Event ist und dann bewegst du den Helden da hin, bis er bei "Schritt 6" angekommen ist. Da ist dann der Zug zuende. Setz schön alle Events wieder auf die alte Position und alle verwendeten Variablen auf 0, lösch das Picture und fertig.
Hier dann die Screens:
(Das mit dem Baum ist nur ein kleiner Bug, da ich kein Pic sondern einfach nur Transparente Events verwende (solltes du aber auf keinen Fall, da es über 140 Stück sind und du sicherlich keine Lust hast die immer alle um den Helden zu setzen ^^°). Außerdem ist es nicht transparent genug...)


So, genug geschrieben. Ich hoffe ich hab mich vertsändlich ausgedrückt ( warscheinlich nicht
).
mfg
Phönix Tear
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln