Sprache immer in einem GUI anzeigen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
SeltsamMitHut
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 798
Registriert: 22.06.2004, 21:54
Wohnort: Arkham

Sprache immer in einem GUI anzeigen

Beitrag von SeltsamMitHut »

Hi,

gibt es eine einfache Möglichkeit, wie bei Zak oder Indy 3, den Text bei DisplaySpeech und DisplaySpeechBackground immer linksbündig (und eventuell mit Zeilenumbruch) in einem GUI (oder in einem bestimmten Bereich des Screens, wie die beiden oberen oder unteren Zeilen am Bildschirm) anzeigen zu lassen?

Hab so ein bisschen bei den den General Settings rumgespielt und mit "Text Windows Use GUI" probiert, aber da wird der Text dann im Sierra Stil dargestellt, nur dass das GUI der Hintergrund ist...

Hoffe ihr könnt mir helfen, hab mit dem MMM-Starterpack angefangen und verwende AGS 2.72, vielen Dank schon mal ;)
I was frozen today!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Sprache immer in einem GUI anzeigen

Beitrag von KhrisMUC »

Du musst eine eigene Funktion schreiben und diese dann statt DisplaySpeech (veraltet, besser: Character.Say) verwenden.

Um die Schrift an einer bestimmten Stelle anzeigen zu lassen, nimmst Du ein GUI mit labels drauf (den Zeilenumbruch musst Du dann auch selber erledigen) oder Du versuchst es mit einem unsichtbaren und entsprechend positionierten Charakter.

global script:

Code: Alles auswählen

function on_event(Event event, int data) {
  if (event == eEventEnterRoomBeforeFadein) cTalk.ChangeRoom(player.Room);
}
(So wird der Dummy-Charakter immer mit in den aktuellen Raum geholt.)
Use gopher repellent on funny little man
Benutzeravatar
SeltsamMitHut
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 798
Registriert: 22.06.2004, 21:54
Wohnort: Arkham

Re: Sprache immer in einem GUI anzeigen

Beitrag von SeltsamMitHut »

Hm... das Problem mit einem Label ist, dass ich die Option offen halten möchte, später noch Sprachausgabe einzufügen. Da ist es vorteilhafter, wenn man die eingebauten Funktionen nutzen könnte. Mit DisplaySpeechAt klappt auch alles, wenn man Linksbündigkeit einstellt, aber bei DisplaySpeechBackgorund kann man die Position schwer steuern, da es irgendwie kein DisplaySpeechBackgorundAt gibt...

Gibt es vielleicht einen Befehl, der überprüft, ob derzeit Sprache angezeigt wird?
I was frozen today!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Sprache immer in einem GUI anzeigen

Beitrag von KhrisMUC »

Du kannst auch bei .SayBackground einen unsichtbaren, positionierten Charakter verwenden.

Sprachausgabe beim Label geht auch problemlos; um den Zeilenumbruch hinzubekommen, musst Du den String sowieso in Wörter aufteilen; wenn das erste mit "&" anfängt, nimmst Du die Zahl dahinter und spielst den Sound einfach manuell ab.

Ob Sprache angezeigt wird, kannst Du bei .SayBackground mittels des Overlays überprüfen, den der Befehl zurückliefert.
Use gopher repellent on funny little man
Antworten