Separating Sierra Speech Portrait From Text

Started by Baron, Sat 02/10/2010 03:50:56

Previous topic - Next topic

Baron

I'm ba-a-a-a-ck!
        I'm having a hard time with my speech setup.  I've tried various options out and I think the Sierra style with background will work the best with my game.  What I'd really like to implement is a speech bubble-esque arrow coming from one of the corners of a text window GUI to show the character talking, but I'm having problems actualizing this desire.  It seems like the Sierra-style portrait is "locked" to the top of the text-box, presenting a continuity problem in placing the speech bubble arrow.  If I put the arrow in the upper left corner then it looks like speech is coming from my character's head and not their mouth.  If I put the arrow at the lower left corner then the arrow can easily miss the mouth depending on the length of text displayed.  I've experimented with SayAt, trying to set the text location dynamically using GetTextHeight so that the bottom arrow will always point to the mouth, but instead SayAt moves the text AND the portrait -they seem to be locked together.   Is there a way to set the location of each element (the portrait, the text window) separately?  It doesn't have to be dynamic -I can use the top corner permanently if I could nudge the text lower relative to the portrait.

       Also, when using the "Alternate" option (so portraits appear on different ends of the screen when conversing), is there a way to change the text window gui on the fly so that the corner graphics can be switched around (or at least entire GUIs switched)?

       Thanks for all the help and ideas.

Baron

It's late, I'm tired, and I can't seem to think of the right search terms to get the answer I need.  I have decided what I need is a custom extender function that will allow me to place portraits and text exactly where I want them.  I've got the extender function working but -there's always a but - I can't figure out how to display text on my custom text window GUI.  Do I need a label?  There doesn't appear to be the option of adding labels to a text window GUI.....  What command would add, say, String chartalk to gTexty and display it for me?

Khris

You don't need a label; you have to enter the GUI's number in the General settings option about text windows and AGS will use it automatically when you call e.g. Display().
This might not be what you want though; you'll probably have to recreate the GUI, not turn it into a text window and do everything manually.

Baron

#3
I think you're right, since I don't want it to look like Display.  Even switching the graphics manually in a function and using DisplayAt would inherit problems like Display being blocking until the user clicks....

However, resizing a regular GUI with custom borders seems difficult (the appeal of the text window GUI was that it did that for you).  Can anybody recommend a tutorial or thread that would give the uninitiated some pointers on how to accomplish this?

EDIT MUCH LATER INTO THE NIGHT:  Well, never mind .....for now.  I've been playing with dummy characters and invisible speech views and I think I can use the built-in speech box after all.  It's not exactly as I'd envisaged the speech system, but it's close enough.

SMF spam blocked by CleanTalk