renpy/tutorial/game/indepth_text.rpy
2023-01-18 23:13:55 +01:00

213 lines
6.9 KiB
Plaintext

# This file demonstrates some of the text-layout and handling
# capabilities of Ren'Py.
init 1:
define eslow = Character(kind=e, what_slow_cps=20)
# init python:
# style.ruby_style = Style(style.default)
# style.ruby_style.yoffset = -20
# style.ruby_style.size = 12
#
# define eruby = Character(
# _("Eileen"),
# color="#c8ffc8",
# what_ruby_style=style.ruby_style,
# what_line_leading=10)
label a_label:
e "You just clicked to jump to a label."
jump after_a_label
label text:
e "Sometimes, when showing text, we'll want to change the way some of the text is displayed."
example tags1 hide:
e "For example, we might want to have text that is {b}bold{/b}, {i}italic{/i}, {s}struckthrough{/s}, or {u}underlined{/u}."
e "That's what text tags are for."
show example tags1
e "Text tags are contained in braces, like the {{b} tag above. When a text tag takes a closing tag, the closing tag begins with a slash, like {{/b} does."
e "We've already seen the b, i, s, and u tags, but there are lot more than those. I'll show you the rest of them."
example:
e "The a text tag can {a=https://www.renpy.org}link to a website{/a} or {a=jump:a_label}jump to a label{/a}."
label after_a_label:
example:
e "The alpha text tag makes text {alpha=.5}translucent{/alpha}."
example:
e "The color text tag changes the {color=#0080c0}color{/color} of the text."
example:
e "The cps text tag {cps=25}makes text type itself out slowly{/cps}, even if slow text is off."
e "The cps tag can also be relative to the default speed, {cps=*2}doubling{/cps} or {cps=*0.5}halving{/cps} it."
example:
e "The font tag changes the font, for example to {font=DejaVuSans-Bold.ttf}DejaVuSans-Bold.ttf{/font}."
e "Sometimes, changing to a bold font looks better than using the {{b} tag."
example:
e "The k tag changes kerning. It can space the letters of a word {k=-.5}closer together{/k} or {k=.5}farther apart{/k}."
example:
e "The size tag changes the size of text. It can make text {size=+10}bigger{/size} or {size=-10}smaller{/size}, or set it to a {size=30}fixed size{/size}."
example:
e "The space tag {space=30} adds horizontal space in text.{vspace=30}The vspace tag adds vertical space between lines."
hide example
e "There are a few text tags that only makes sense in dialogue."
example:
e "The p tag breaks a paragraph,{p}and waits for the player to click."
e "If it is given a number as an argument,{p=1.5}it waits that many seconds."
example:
e "The w tag also waits for a click,{w} except it doesn't break lines,{w=.5} the way p does."
example:
eslow "The nw tag causes Ren'Py to continue past slow text,{nw}"
with flashbulb
extend " to the next statement."
example:
e "To break a line without pausing,\none can write \\n. \\' and \\\" include quotes in the text."
hide example
e "The interpolation feature takes a variable name in square brackets, and inserts it into text."
example:
$ variable = _("{i}variable value{/i}")
e "For example, this displays the [variable!t]."
example:
e "When the variable name is followed by !q, special characters are quoted. This displays the raw [variable!q!t], including the italics tags."
example showtrans:
$ translatable = _("translatable text")
e "When the variable name is followed by !t, it is translated to [variable!t]. It could be something else in a different language."
example:
e "Finally, certain characters are special. [[, {{, and \\ need to be doubled if included in text. The %% character should be doubled if used in dialogue."
hide example
pause .5
return
# label demo_text:
#
# e "Ren'Py gives you quite a bit of control over how text appears."
#
# e "Text tags let us control the appearance of text that is shown to the user."
#
# e "Text tags can make text {b}bold{/b}, {i}italic{/i}, {s}struckthrough{/s}, or {u}underlined{/u}."
#
# e "They can make the font size {size=+12}bigger{/size} or {size=-8}smaller{/size}."
#
# e "They let you pause{w} the display of the text, optionally with{p}line breaks."
#
# e "They let you include images inside text{image=exclamation.png} Neat{image=exclamation.png}"
#
# e "We can pause the text for a short time, and have it auto-advance.{w=1} Just like that."
#
# eslow "We can even have the text auto-advance,{nw}"
#
# with flashbulb
# extend " when we reach the end of a block of text, in slow text mode."
#
# e "They can change the {color=#f00}color{/color} {color=#ff0}of{/color} {color=#0f0}the{/color} {color=#0ff}text{/color}."
#
# # e "There are also bold, italic, strikethrough, and underline style properties, which can be styled onto any text."
#
# e "The kerning tag lets you adjust the spacing between characters.\n{k=.5}The spacing between characters can be increased.{/k}\n{k=-.5}The spacing between characters can be decreased.{/k}"
#
# eruby "You are able to write ruby text, which can help clarify how to pronounce words, like {rb}Ren'Py{/rb}{rt}ren-pie{/rt}."
#
# e "{a=define_hyperlink}Hyperlinks{/a} let buttons be defined using text tags."
#
# e "The space and vspace tags add {space=30} horizontal and {vspace=20}vertical space, respectively."
#
# e "You can define your own text tags, {=pink}that use a style you define.{/=pink}"
#
# e "If you find yourself using text tags on every line, you should probably look at style properties instead."
#
# e "Used with care, text tags can enhance {b}your{/b} game."
#
# e "{u}Used{/u} with {i}abandon,{/i} they {b}can{/b} make {b}your{/b} game {color=#333}hard{/color} {color=#888}to{/color} {color=#ccc}read{/color}."
#
# e "With great power comes great responsibility, after all."
#
# e "And we want to give you all the power you need."
#
# e "There are a couple of text adjustments that don't correspond to text tags."
#
# eoutline "The outlines setting lets you put outlines around the text."
#
# eoutline "You can have more than one outline, and each has its own color and offset."
#
# window hide
#
# esubtitle "Here, we have two outlines around the white text."
#
# esubtitle "The bottom one is a translucent black that's offset a little, while the top one is green."
#
# esubtitle "By hiding the window and adjusting the layout method, we are able to create reasonable subtitles."
#
# esubtitle "This might be an interesting look for a game."
#
# window show
#
# e "Well, that's it for fonts and text tags."
#
#
# return
#
#
# label define_hyperlink:
#
# definition "A hyperlink is a button that is defined inside text, using text tags. They're ideal for including definitions of words used in the script, but they shouldn't be used in place of menus."
#
# return