Displayed Text

From The Official Visionaire Studio: Adventure Game Engine Wiki
Revision as of 17:05, 24 February 2015 by AFRLme (talk)

Displayed text is the text spoken by a character or narration text which is not spoken by a character & can be positioned wherever you like on the screen. Object text, is text which can be linked to a scene object & displayed indefinitely until you remove it via the remove object text action part - object text is only (currently) valid for non-menu scenes.

Let's have a look at the Display text action part first which is found inside of the Character action part area. By default character spoken text appears above the text owner (character who the displayed text is linked to) & is aligned via the text alignment drop down menu found inside of the game properties tab. Having said that we can in fact set a custom position (absolute) via Lua Script with the VTextPosition data structure field & the registerHookFunction - see further down the page for an example.

The Display narration text action part however is more geared towards narration & can be positioned on the screen wherever you like.

The Display speaker text action part was renamed to Display narration text in Visionaire Studio 4.0.


Example: pause/delay methods for controlling time displayed text should be displayed for...

Wait until left mouse button is clicked to continue <p>
Continue after 2500 milliseconds (ms) <p2500ms>
Continue after 2.5 seconds (s) <p2.5s> or <p2.5> -- (dropped in 4.x)
Wait until linked speech file has finished playing <pa>
Wait until linked speech file has finished playing (with fallback time (in ms) if media file is missing or corrupted <pa2500ms>

--[[
!important: You need to be careful that when you are using the first example <p> that you do not hide the mouse cursor 
beforehand as hide cursor action part disables all key input & commands until the cursor is shown; thus
your game will end up stuck on the displayed text! -- (text can now be skipped with left click in 4.x; even if cursor is hidden).
--]]
The <pa> fallback time tag is only available from Visionaire Studio 4.x onwards.
Seconds tags (i.e: <p2.5s> & <p2.5>) are not supported by Visionaire Studio 4.x; all the other tags are still valid.


Example: Displaying "string" & integer (number) values inside of a displayed text...

I have $<v=money> in my wallet. <p2000ms> -- displays integer value of the linked value
My name is <vs=protagonist_name>. <p2500ms> -- displays "string" value of the linked value
The value name is case sensitive.


Example: Using Lua script to control the position of currently displayed text...

-- let's create the function which sets the position of displayed text
function setTextPosHook(text)
 -- if text owner is a character then...
 if text:getLink(VTextOwner):getId().tableId == eCharacters then
  text:setValue(VTextPosition, {x=960, y=100})
  return true
 end
end

-- let's create the event listener for handling position of displayed text
registerHookFunction("setTextPosition", "setTextPosHook")