Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

打字机

打字

全参数默认模板(纯 JSON):

@[type_parallel] {
    "texts": "你好,世界!",
    "fixed": false,
    "pos": [0, 0],
    "tags": [],
    "has_se": true,
    "char_type": null,
    "has_animation": true,
    "layer": 1,
    "can_skip": true,
    "need_accept": true,
    "wait": true,
    "is_dialog_end": false,
    "refTexts": [],
    "is_on_top_of_player": true,
    "offset": [0, 0],
    "label_settings": {}
}

带注释的版本:

@[type_parallel] {
    "texts": "你好,世界!",    # 打字内容(支持 <标签>文本</标签> 与 字{参数对象} 写法)
    "fixed": false,    # 是否使用屏幕坐标(false为地图坐标)
    "pos": [0, 0],    # 打字位置 [x, y]
    "tags": [],    # 标签/组列表(可用于后续 fade_group、dissolve_group 等组操作)
    "has_se": true,    # 是否播放打字音效
    "char_type": null,    # 打字机音效类型(null为默认)
    "has_animation": true,    # 是否显示打字动画
    "layer": 1,    # 图层:0=背景,1=主要,2=前景
    "can_skip": true,    # 是否可以跳过
    "need_accept": true,    # 是否需要确认
    "wait": true,    # 是否等待打字结束
    "is_dialog_end": false,    # 是否启用实心游标(常用于对话结束前的最后一句)
    "refTexts": [],    # 参考文本列表(用于成句检测)
    "is_on_top_of_player": true,    # 主要图层时是否显示在玩家上方
    "offset": [0, 0],    # 位置微调偏移 [x, y]
    "label_settings": {}    # 标签独立样式设置
}

缩写:@[type] 注:打字机中的"texts"可以有如下写法

  • "v:变量名":输出指定变量的值
  • "s:开关名":输出指定开关的值
  • "转移[物件名称]到这个地方。":转移物件

type_parallel 还支持以下高级参数:

  • tags:标签/组列表。打字字符会加入这些组,可配合 fade_groupdissolve_group 做统一处理;dissolve_group 是溶解组内物件,不是解散组。 示例:@[type] {"texts":"我马上要消失喽!","tags":["b"]} @[fade_group] {"group": "b","opacity": 0,"time_sec": 1.0}

  • offset[x, y],对打字位置进行微调(像素偏移),可搭配变量使用。

  • texts:打字文本,除普通文本外,还支持以下扩展写法:

    • 标签样式片段<标签名>...</标签名>,并在 label_settings 中定义同名标签参数。 示例:"正常说话||<p>诗人说话</p>||<s>蛇妖说话</s>"
    • 逐字独立参数:在某个字后追加 {...},可将该字独立并指定参数。 示例:"老{'name':'教学词1','opacity':0}||繁{'tags':['cn_text:繁简']}"
    • 插入物件参数[物件{'tags':['标签']}]。 可用于“删整句但保留该物件”等场景。
  • label_settings:对象,用于为文本中的特定标签设置独立的样式与音效。 在 texts 中使用 <标签名>...</标签名> 包裹需要独立设置的片段,然后在 label_settings 中定义同名标签的属性。 每个标签可设置:

    • text_color:文字颜色(十六进制 RGBA,如 "#ffff00ff"
    • tags:该片段独有的标签列表
    • char_type:该片段使用的打字机音效(见下方 char_type 可选值)

    示例:

    "label_settings": {
      "p": {
        "char_type": "poet"
      },
      "s": {
        "char_type": "snake"
      }
    }
    
  • texts 中逐字参数可更改项

    • {'name':'名称'}
    • {'text':'字面'}
    • {'opacity':1}
    • {'tags':['cn_text:繁简']}
    • {'tags':['label #1']}
    • {'layer':'back'}

    注意:在插入物件场景下,上述参数通常只有 tags 能生效,其它参数不生效。

  • char_type:指定打字机音效,可选值:

    • "princess"(公主)
    • "dragon"(龙)
    • "snake"(蛇)
    • "poet"(诗人)
    • "giant_l"(巨人左)
    • "giant_r"(巨人右)
    • "none"(无音效)
    • null(使用默认音效)
  • layer:图层,可用数字表示:

    • 0:背景层
    • 1:主要层(默认)
    • 2:前景层 亦可用字符串 "mid" 表示主要层。
  • is_on_top_of_player:当 layer 为主要层时,若为 true 则文本显示在玩家上方。

  • wait:若为 true,事件将等待打字结束后才继续执行后续逻辑。

  • is_dialog_end:若为 true,启用实心游标,通常用于一段对话结束前的最后一句。

在此推荐由 艺素馒头 制作的黑魔法打字机编辑器,其拥有强大的可视化打字机黑魔法指令编辑功能。 黑魔法打字机编辑器

清除


@[clear_typed] ""

若标签为空,则默认为清除本物件触发的打字机事件。