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
Sprache immer in einem GUI anzeigen
- SeltsamMitHut
- Profi-Abenteurer
- Beiträge: 798
- Registriert: 22.06.2004, 21:54
- Wohnort: Arkham
Sprache immer in einem GUI anzeigen
I was frozen today!
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Re: Sprache immer in einem GUI anzeigen
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:
(So wird der Dummy-Charakter immer mit in den aktuellen Raum geholt.)
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);
}
Use gopher repellent on funny little man
- SeltsamMitHut
- Profi-Abenteurer
- Beiträge: 798
- Registriert: 22.06.2004, 21:54
- Wohnort: Arkham
Re: Sprache immer in einem GUI anzeigen
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?
Gibt es vielleicht einen Befehl, der überprüft, ob derzeit Sprache angezeigt wird?
I was frozen today!
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Re: Sprache immer in einem GUI anzeigen
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.
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