Moinsen !
Habe mir gestern mal AGS gezogen und ein wenig rumprobiert.
Beim Erstellen meines ersten Raumes bin ich dann auf ein Problem gestossen, zu dem ich bisher noch keine Lösung gefunden habe.
Hoffe, ihr könnt mir helfen.
Der Raum soll aus zwei Zimmern bestehen, die durch eine Tür verbunden sind.
(bitte keine Kommentare zum Bild, dass dient nur zur Erklärung und gibt nicht den "echten" Raum wieder ! )
Im linken Zimmer ist alles in Ordnung. Die Figur kann wunderbar durch den Raum wandern und verschwindet auch hinter der roten Wand.
Gehe ich aber durch die Tür in den rechten Raum, verschwindet die Figur auch dort hinter der roten Wand, obwohl sie das eigentlich nicht sollte ( ist ja ein anderer Blickwinkel ).
Bin dankbar für alle Lösungsvorschläge !
Gruß,
Phillip
Problem mit "Walk-behinds" GELÖST !
-
- Frischling
- Beiträge: 6
- Registriert: 07.03.2006, 00:00
Problem mit "Walk-behinds" GELÖST !
Zuletzt geändert von Phill am 07.03.2006, 18:29, insgesamt 1-mal geändert.
- Floyd
- Logik-Lord
- Beiträge: 1088
- Registriert: 14.03.2004, 19:59
...
Du könntest einfach den Walkbehind ausschalten, solange der Spieler sich im rechten Raum befindet, und ihn wieder anschalten, wenn er den linken betritt.
Für AGS 2.6:
Für AGS 2.6:
(-> Ausgeschaltet)SetWalkBehindBase (x,0);
Der verschwundene Husky - ein 2D Point&Click Adventure
Einen schönen Orbit, Bürger!
Einen schönen Orbit, Bürger!
-
- Frischling
- Beiträge: 6
- Registriert: 07.03.2006, 00:00
Verstehe ! Hab das mal probiert und in das Room-Script folgendes geschrieben:
// room script file
if (player.x > 238) SetWalkBehindBase (1,0);
if (player.x <= 238) SetWalkBehindBase (1, 131);
Wenn ich jetzt aber auf "Save Game" gehe, kommt immer die Fehlermeldung "unexpected if". Irgendwas hab ich da wohl falsch gemacht.
// room script file
if (player.x > 238) SetWalkBehindBase (1,0);
if (player.x <= 238) SetWalkBehindBase (1, 131);
Wenn ich jetzt aber auf "Save Game" gehe, kommt immer die Fehlermeldung "unexpected if". Irgendwas hab ich da wohl falsch gemacht.
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Für sowas sind die Regions ideal.
Mach eine Region hier:
Dann schaltest Du den Walkbehind aus, sobald der Spieler auf die Region tritt und an, wenn er runtergeht.
a sollte die halbe Breite des Spieler-Sprites sein (player.x ist in der Mitte) oder zwei, drei Pixel mehr, nur nicht zuviel, wegen der linken Wand. Wenn Dir die linke Wand in die Quere kommt, weil der Durchgang zu schmal ist, musst Du den Walkbehind in zwei Einzelne aufteilen.
Es ist ein bisschen tüftelig, aber durchaus zu schaffen.
Das entsprechende Script kommt dann in die player walks onto region- und player walks off of region-Interactions des Raumes.
Dein Fehler kommt, weil die ifs nicht in einer Funktion stehen.
Du kannst sie nicht einfach ins room-script schreiben, Du musst vorher die repeatedly_execute-Interaction des Raumes doppelt anklicken und einen RunScript-Befehl einfügen. Dort kannst Du den code einsetzen. Dasselbe Verfahren benutzt Du auch, um jeden anderen code einzufügen.
Direkt im room script dürfen nur Variablendefinitionen stehen.
Mach eine Region hier:
Dann schaltest Du den Walkbehind aus, sobald der Spieler auf die Region tritt und an, wenn er runtergeht.
a sollte die halbe Breite des Spieler-Sprites sein (player.x ist in der Mitte) oder zwei, drei Pixel mehr, nur nicht zuviel, wegen der linken Wand. Wenn Dir die linke Wand in die Quere kommt, weil der Durchgang zu schmal ist, musst Du den Walkbehind in zwei Einzelne aufteilen.
Es ist ein bisschen tüftelig, aber durchaus zu schaffen.
Das entsprechende Script kommt dann in die player walks onto region- und player walks off of region-Interactions des Raumes.
Dein Fehler kommt, weil die ifs nicht in einer Funktion stehen.
Du kannst sie nicht einfach ins room-script schreiben, Du musst vorher die repeatedly_execute-Interaction des Raumes doppelt anklicken und einen RunScript-Befehl einfügen. Dort kannst Du den code einsetzen. Dasselbe Verfahren benutzt Du auch, um jeden anderen code einzufügen.
Direkt im room script dürfen nur Variablendefinitionen stehen.
Use gopher repellent on funny little man
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55