Autor Thema: "Fade Ins" in Cutscenes  (Gelesen 3561 mal)

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
"Fade Ins" in Cutscenes
« am: 21. Mai 2016, 18:51:46 »
Hey Leute
 Folgendes Problem: Ich versuche während einer Cutscene (Gui ist nicht sichtbar, Überspringen mit ESC) einen Raumübergang hinzuzufügen.Damit meine ich dass bei [ags]player.EnterRoom(ANGABEN);[/ags] der übergang nicht sofort geschehen soll, sondern einen art Fade In eingeblendet werden soll
 LG Kinkilla
« Letzte Änderung: 22. Mai 2016, 09:02:40 von Kinkilla »

Kiwa

  • volljähriger Tentakel
  • *****
  • Beiträge: 779
  • Geschlecht: Männlich
    • Profil anzeigen
Re: "Fade Ins" in Cutscenes
« Antwort #1 am: 22. Mai 2016, 12:48:50 »
Es wäre jetzt gut zu wissen was genau du mit "Fade in" meinst.

Generell gibt es bei AGS 2 Möglichkeiten bzw. Zeitpunkte eine Funktion beim Raumwechsel aufzurufen.

Bei der ersten Möglichkeit wird die Funktion "room_Load" aufgerufen. Dazu musst du im AGS Editor unten rechts bei den Funktionen einen Doppelklick bei "Enters room before fade in" machen. AGS erstellt dann die "room_Load" Funktion im Skript und dort kannst du reinschreiben was passieren soll.
Hierbei ist zu beachten das die Funktion "room_Load" aufgerufen wird BEVOR der player im Raum sichtbar bzw. vorhanden ist.

Bei der zweiten Möglichkeit wird die Funktion "room_AfterFadeIn" aufgerufen. Dazu bei "Enters room after fade in" ein doppelklick machen und AGS erstellt die Funktion. In die Funktion wieder das reinschreiben was passieren soll.
Diese Funktion wird aufgerufen NACHDEM der player im Raum ist und damit auch sichtbar ist.

Der zeitliche Unterschied beträgt nur wenige Milisekunden, ist aber meist deutlich sichtbar.

Das funktioniert auch bei Cutscenen. Du kannst aber den player vor dem Raumwechsel auch unsichtbar machen und zum richtigen Zeitpunkt wieder sichtbar. Das kann manchmal einfacher sein, je nachdem was du vor hast. Eine weitere Möglichkeit wäre ein zusätzlicher Raum, in dem du etwas ablaufen lassen kannst.

Was in deinem Fall das Beste ist musst du aber selber Entscheiden da nur du den genauen Ablauf kennst. Ich hoffe etwas geholfen zu haben.
« Letzte Änderung: 22. Mai 2016, 12:50:50 von Kiwa »
Das Leben ist ein Adventure. Aber ohne Komplettlösung.

Für fast alles gibt es eine logische Erklärung. Für alles andere ein Placebo.

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: "Fade Ins" in Cutscenes
« Antwort #2 am: 22. Mai 2016, 15:21:34 »
War ein bisschen ungenau geschildert  :)
Bei  "player.EnterRoom (RoomID,x,y,FaceDir);" erscheint der neue Raum Sofort
Ich möchte aber das der Bildschirm langsam schwarz ausgeblendet wird und dann wieder eingeblendet wird im neuen Raum
Genau so wie bei einen normalen Raumwechsel (Durch offene Tür)
 Hoffe es war genauer  :-X

Cmdr

  • volljähriger Tentakel
  • *****
  • Beiträge: 719
    • Profil anzeigen
Re: "Fade Ins" in Cutscenes
« Antwort #3 am: 22. Mai 2016, 16:34:27 »
Probier doch mal:

[ags]
...
FadeOut(1);
player.EnterRoom (RoomID,x,y,FaceDir);
[/ags]

und im neuen Raum dann:

[ags]
function room_AfterFadeIn()
{
  FadeIn(1);
  ...
}
[/ags]
« Letzte Änderung: 22. Mai 2016, 16:36:30 von Cmdr »

Kinkilla

  • volljähriger Tentakel
  • *****
  • Beiträge: 845
  • Geschlecht: Männlich
  • Nicht zu verwechseln mit einem Chinchilla!
    • Profil anzeigen
Re: "Fade Ins" in Cutscenes
« Antwort #4 am: 22. Mai 2016, 17:13:35 »
Super hat funktioniert
 Danke  ;D

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: "Fade Ins" in Cutscenes
« Antwort #5 am: 24. Mai 2016, 11:36:24 »
Oder auch

[ags]  SetNextScreenTransition(eTransitionFade);[/ags]
« Letzte Änderung: 24. Mai 2016, 11:36:43 von KhrisMUC »