Intro Raum soll von links nach rechts scrollen
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
Intro Raum soll von links nach rechts scrollen
Hi,
also folgendes Problem. Ich hab im meinem Intro einen Raum der sehr sehr breit ist.
Wenn man einen normalen Raum hat ist es ja kein Problem wenn der Playercharacter von links nach rechts (bzw. umgekehrt) läuft, dass der Raum automatisch mitscrollt.
Wie mach ich das jedoch im Intro, in dem ich keinen Playercharacter habe der sich bewegt? Gibt es da einen Befehl den ich noch nicht kenne?
also folgendes Problem. Ich hab im meinem Intro einen Raum der sehr sehr breit ist.
Wenn man einen normalen Raum hat ist es ja kein Problem wenn der Playercharacter von links nach rechts (bzw. umgekehrt) läuft, dass der Raum automatisch mitscrollt.
Wie mach ich das jedoch im Intro, in dem ich keinen Playercharacter habe der sich bewegt? Gibt es da einen Befehl den ich noch nicht kenne?
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
Also ich hab das jetzt so gemacht, dass ich n neuen Character erstellt habe der einen transparenten View hat. Wenn der Raum aufgerufen wird ,wird dieser Character zum Player und läuft von links nach rechts langsam los.
Das klappt auch wohl, aber elegant find ich die Lösung nicht.
Weiß denn keiner wie ichs sonst machen kann?
Das klappt auch wohl, aber elegant find ich die Lösung nicht.
Weiß denn keiner wie ichs sonst machen kann?
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
So hätt ichs auch gemacht, aus dem bauch heraus.
aber soweit ich weiss hat a-v-o sogar ein plugin fürs
scrollen programmiert, irgendwo hab ich den link.
ah.. hier ist er, gar nicht so leicht zu finden:
http://a-v-o.privat.t-online.de/ags/
details dazu fragst du ihn besser selber.
aber soweit ich weiss hat a-v-o sogar ein plugin fürs
scrollen programmiert, irgendwo hab ich den link.
ah.. hier ist er, gar nicht so leicht zu finden:
http://a-v-o.privat.t-online.de/ags/
details dazu fragst du ihn besser selber.
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Schaut mal in die Hilfe
Wenn du mir sagst in welche RICHTUNG du scrollen willst, kann ich dir ein Script generieren. Ich brauche die Höhe und Breite des Raumes und den endgültigen Punkt. Ich versuch mal in meinem Editor ein "function"-Script ´zu machen
Nein, keine Ahnung...
Das muss man immer gleich machen
Ich schicke dir mal ein Beispiel zu...
Wenn du mir sagst in welche RICHTUNG du scrollen willst, kann ich dir ein Script generieren. Ich brauche die Höhe und Breite des Raumes und den endgültigen Punkt. Ich versuch mal in meinem Editor ein "function"-Script ´zu machen
Nein, keine Ahnung...
Das muss man immer gleich machen
Ich schicke dir mal ein Beispiel zu...
Code: Alles auswählen
int mue = 800; // Aktueller Viewport
int moe = 60; // Endgültiger Viewport
while(mue > 62) {
SetViewport(mue, 75);
Wait(1);
mue = mue - 3;
}
DisplaySpeech(ERZ, "Einige Stünden später"); // Copyright by Spongebob :-)
while(moe < 800) {
SetViewport(moe, 75);
Wait(1);
moe = moe + 3;
}
ReleaseViewport(); // Damit auch später wieder scrollt
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
-
- Süßwasserpirat
- Beiträge: 258
- Registriert: 22.09.2002, 21:28
- Kontaktdaten:
Scrollen ohne Character geht mit SetViewport. Entweder in einer while-Schleife, dann blockiert das Scrolling das Script, es können also keine Aktionen nebenher ablaufen. Oder im repeatedly execute.
Ein Plugin habe ich nicht gemacht, aber ein SmartScrolling-Script geschrieben. Das ist dafür gedacht, das normale Scrolling, bei dem der Charakter immer in der Mitte durch ein Lucasarts-ähnliches (glaube ich) Scrolling abzulösen, bei dem der Raum erst scrollt, wenn der Character nahe dem Rand ist und dann auch so weit, dass der Character erst wieder ein ganzes Stück über den stehenden Hintergrund laufen kann, bis das nächste Scrolling einsetzt.
Nun zur Variante 1 (blocking)
int x = GetViewportX ();
while (x < ZIEL_X_KOORDINATE)
{
SetViewport (x, GetViewportY ());
x++;
}
Natürlich kann man in die Schleife auch noch Befehle für Hintergrundaktionen einbauen, wenn man das braucht.
Variante 2 (non-blocking):
in das room script:
int target_x = -1;
in die interaction-function, die das Scrolling startet:
target_x = ZIEL_X_KOORDINATE;
in repeatedly_execute:
int x = GetViewportX ();
if (x < target_x)
{
x++;
SetViewport (x, GetViewportY ());
}
Für ZIEL_X_KOORDINATE den entsprechenden Wert einsetzen. Soll das normale Scrolling wieder aktiviert werden, dann ReleaseViewport () verwenden.
Ich hoffe, dass dir das weiterhilft, ansonsten konreter fragen.
Ein Plugin habe ich nicht gemacht, aber ein SmartScrolling-Script geschrieben. Das ist dafür gedacht, das normale Scrolling, bei dem der Charakter immer in der Mitte durch ein Lucasarts-ähnliches (glaube ich) Scrolling abzulösen, bei dem der Raum erst scrollt, wenn der Character nahe dem Rand ist und dann auch so weit, dass der Character erst wieder ein ganzes Stück über den stehenden Hintergrund laufen kann, bis das nächste Scrolling einsetzt.
Nun zur Variante 1 (blocking)
int x = GetViewportX ();
while (x < ZIEL_X_KOORDINATE)
{
SetViewport (x, GetViewportY ());
x++;
}
Natürlich kann man in die Schleife auch noch Befehle für Hintergrundaktionen einbauen, wenn man das braucht.
Variante 2 (non-blocking):
in das room script:
int target_x = -1;
in die interaction-function, die das Scrolling startet:
target_x = ZIEL_X_KOORDINATE;
in repeatedly_execute:
int x = GetViewportX ();
if (x < target_x)
{
x++;
SetViewport (x, GetViewportY ());
}
Für ZIEL_X_KOORDINATE den entsprechenden Wert einsetzen. Soll das normale Scrolling wieder aktiviert werden, dann ReleaseViewport () verwenden.
Ich hoffe, dass dir das weiterhilft, ansonsten konreter fragen.
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31