retreatafter

导航

 

本节目录

  1. 1.文本标签
  2. 2.脚本标签
    1. (1)jump
    2. (2)call
    3. (3)return
    4. (4)label
  3. 4.内插数据
  4. 5.转义字符
  5. 6.全屏文字
  6. 7.Ruby字符串

1.文本标签

  • (1其实,以"文本内容"就能将文本显示在对话框中,这正是say语句的内容。
  • (2)修改文本样式的一些标签,例如部分文字的加粗、字体巨大/缩小效果。常见的有:
    • 1)文本加粗:"正常显示{b}将被加粗{/b}的其它文字"
    • 2)文本倾斜:"正常显示{i}将倾斜{/i}的其它文字"
    • 3)文本字号大小:"正常显示{size=45}这部分字号是45{/size}的其它文字"
    • 4)文本颜色:使用15进制颜色标识,示例"正常显示{color=#003371}这部分颜色为绀紫{/color}的其它文字"
    • 5)文本透明度:alpha取值为[0,1],示例"正常显示{alpha=0.3}这部分透明度为0.3{/alpha}的其它文字"
    • 6)字体:指定字体文件,示例"正常显示{font=寒蝉正楷体.ttf}这里使用寒蝉正楷体{/font}的其它文字"
    • 2026__引擎.Renpy__文本控制.文本标签
label start:
    "正常显示{b}将被加粗{/b}的其它文字   正常显示{i}将倾斜{/i}的其它文字 \n
    正常显示{size=45}这部分字号是45{/size}的其它文字 \n
    正常显示{color=#003371}这部分颜色为绀紫{/color}的其它文字 \n
    正常显示{font=寒蝉正楷体.ttf}这里使用寒蝉正楷体{/font}的其它文字"
    return
  • (2){a}{/a}标签,创建超链接URL,允许使用参数,参数可以为jump、call等。在这部分文本中触发语句效果。
    • jump参数使用:"{a=jump:scene1}点击跳转到场景scene1{/a}"
    • call参数使用:"{a=call:scene1}点击后跳转到场景scene1,场景scene1内容完成后回到该标记(但跳过本句){/a}"
    • 跳转到指定URL:"{a=https://www.baidu.com}点击跳转到百度{/a}"
label start:
    "正常显示{a=jump:scene1}点击跳转到场景scene1{/a}的其它文字"
    "不点击吗"
    return

label scene1:
    "推进了一些内容……"
    return

2026__引擎.Renpy__文本控制.文本标签.a标签

label start:
    "正常显示{a=call:scene1}当scene1内容完成时回到该场景的此处继续推进直到return(但跳过本句){/a}的其它文字"
    "正常推进……本场景内容结束(start)"
    return

label scene1:
    "推进了一些内容……(scene1)"
    return

2026__引擎.Renpy__文本控制.文本标签.a标签

2.脚本标签

(1)jump

  • 1)实现场景的单向跳转。格式:jump [场景名]。
    • 2026__引擎.Renpy__文本控制.脚本标签
label start:
    play music "audio/music01.mp3"
    "内心似乎有些触动……"
    "即将跳转至场景scene1"
    jump scene1
    # 上述存在jump跳转至其它场景且无其它返回至该场景的语句时,下述内容不再触发
    "正常推进……本场景内容结束(start)"
    return

label scene1:
    "在新场景推进了一些内容……(scene1)"
    return

(2)call

  • 1)实现场景的递归,进行场景跳转并记录该位置,当跳转的场景内容推进完毕后,回到记录的该位置并继续推进,直到return语句。格式:call [场景名]。
    • 2026__引擎.Renpy__文本控制.脚本标签
label start:
    play music "audio/music01.mp3"
    # 进入到scene1场景,scene1内容推进完毕后,回到该位置继续该场景下其它内容直到return
    call scene1
    "内心似乎有些触动……(start)"
    return

label scene1:
    "在新场景推进了一些内容……(scene1)"
    return

(3)return

  • 1)所属场景结束的标识,默认将回到游戏主界面。

(4)label

  • 1)label语句标识这是一个标签,后接标签名,实现不同效果。格式:label [标签名]。
    • label splashscreen:游戏首次运行时,在主菜单出现前,该标签内容会被调用。
    • label before_main_menu:在游戏主菜单出现前,该标签内容会被调用。
    • label start:在游戏启动后会跳转至这个标签并执行标签下的内容。视为游戏入口,且默认唯一。
    • label quit:当用户点击退出游戏或直接关闭游戏时,跳转至这个标签并执行标签下的内容。
    • label main_menu:用来替代默认的主菜单。

4.内插数据

  • (1)以文本形式展示定义在代码中的变量数据,常用于给玩家一些变量数值(例如好感度)。
    • 2026__引擎.Renpy__文本控制
# 在脚本代码中定义,默认情况下玩家不会看到
define flag = 0

label start:
    play music "audio/music01.mp3"
    "flag当前数值:[flag]"
    # 赋值操作
    $ flag = 999
    "flag当前数值:[flag]"
    return

5.转义字符

  • 1)一些特殊文本在renpy无法直接显示,需要转义来让renpy识别。
    • 2026__引擎.Renpy__文本控制
label start:
    play music "audio/music01.mp3"
    "显示百分号:%%  显示花括号:{{  \n
    显示反斜杠:\\   显示换行符:\\n \n
    显示单引号:\'  显示双引号:\""
    return

6.全屏文字

  • (1)show语句允许连接一个text内容,会将文本内容在屏幕中进行展示,如:show text "{color=#fff}这部分颜色为纯白{/color}屏幕中显示着一行文字……"。如果需要更灵活的用法,可以将需要展示的内容制作为UIscreen,以UI形式进行展示。
  • (2)使用ParameterizedText函数,可以简单实现文本在屏幕中的灵活显示。
    • 2026__引擎.Renpy__文本控制.全屏文字
image credits_text = ParameterizedText(ycenter = 0.5, xcenter = 0.5, color = "#fff", size = 50, slow_cps = 20)

label start:
    show black:
        "#000"
    show credits_text "屏幕中央出现了10个字"
    # 暂时没找到别的办法在不写入对话文本的前提下只显示屏幕中文字
    ""
    return

7.Ruby字符串

  • 1)这里实现的功能是在正常文本上方添加一些解释性文字。定义好Ruby字符串在游戏中的样式后(默认样式相当于普通文本,和常规文本y轴相同),可以在进行文本输入时,使用【】(指定从哪开始)和|或{rt}{/rt}和`{rb}{/rb}标签来实现Ruby字符串的显示。
    • {rt}{/rt}标签包裹Ruby字符串,默认指向在前一个常规文字上进行显示。
    • 可以同时使用{rb}{/rb}标签来指明Ruby字符串出现的位置,需要注意{rb}{/rb}和{rt}{/rt}标签必须连续使用,否则会按照前一个规则,Ruby字符串将显示在前一个常规字符串上
    • 2026__引擎.Renpy__文本控制
# Ruby字符串样式定义
style ruby_style is default:
    size 12
    # 相对于常规文本的y轴上的偏移量(选择在上方出现)
    yoffset -40

# Ruby字符串在对话框中的展现样式
style say_dialogue:
    # 预留行高度
    ruby_line_leading 12
    # 指定使用什么样式
    ruby_style style.ruby_style

# Ruby字符串在历史记录中的展现样式
style history_text:
    # 预留行高度
    ruby_line_leading 12
    # 指定使用什么样式
    ruby_style style.ruby_style
label start:
    # 注意Ruby文本出现的位置
    # 会从常规文本框选的内容中央开始显示Ruby字符串
    "内心似【乎有些触动……|chudong】"
    # 从Ruby标签处前一个字符进行显示
    "内心似乎有些触{rt}chu{/rt}动{rt}dong{/rt}……"
    # 从{rb}{/rb}标签包裹的内容的中央位置进行显示,但两个标签必须连续使用
    "内心似乎有些{rb}触动{/rb}{rt}chudong{/rt}……"
    # 错误示范,不连续使用的情况,Ruby文本出现在的是省略号上
    "内心似乎有些{rb}触动{/rb}……………………………………………………{rt}chudong{/rt}"
    return
posted on 2026-10-08 00:39  retreatafter  阅读(19)  评论(0)    收藏  举报