跳到正文
文档
本页内容

主题

主题是由64种颜色组成的调色板,物体按槽位编号引用这些颜色。本页介绍槽位、引用和主题关键帧如何工作,以及如何创建、分享和导入主题

类型为主题的颜色不保存自己的颜色,只保存一个槽位编号。它取当前帧上活动主题中该槽位的颜色。更换主题,所有引用它的内容都会随之改变

为什么这比直接颜色更好,以及如何让关卡在每个主题下都保持可读:颜色、主题与后期处理

主题包含什么

  • 名称:显示在列表和选择器中
  • ID,即ThemeId。主题关键帧按这个ID引用主题,而不是按名称
  • 64种颜色,排成8×8的网格,每种颜色都带透明度
  • 每个槽位的槽位名称,可选。在你给任何槽位命名之前,名称列表不会写入文件

主题是level.json中的数据,而不是resources中的文件(见关卡需要什么)。一个关卡可以包含任意数量的主题

8×8的布局沿用了Afterbeat中的布局。游戏不给槽位分配固定的用途:游戏自带的Balanced主题只是把它的64种颜色按色相分组

颜色如何找到自己的值

分两步:

  1. 事件时间轴上的主题轨道决定这一帧哪个主题处于活动状态
  2. 类型为主题的颜色指定活动主题中0到63之间的一个槽位

可以引用主题的颜色包括,例如形状的颜色(每个角单独设置)、文本的颜色和关卡背景

槽位的位置就是它的身份。把一种颜色移到另一个槽位,所有指向旧槽位的内容都会被重新着色

随时间切换主题

在两个主题关键帧之间,游戏会把整个调色板从一个主题平滑地混合到另一个主题。缓动取自后一个关键帧(见关键帧与缓动)

完全没有主题关键帧时,每个槽位都是白色

警告

新关键帧默认使用Linear,所以调色板会在从上一个主题关键帧到这一个的整个区间内逐渐变化。要让主题恰好在drop处切换,把drop处的关键帧设为Constant

注意

主题关键帧可能比它的主题存在得更久。删除一个仍被关键帧引用的主题,所有这些帧都会变成白色,而关键帧本身会保留。删除这样的主题之前,编辑器会先询问

创建和编辑主题

关卡资源中的主题标签页列出关卡的所有主题,上面有创建和导入。点击某一行会打开主题编辑器:

  • 主题的名称
  • 主题ID和重新生成ID
  • 8×8的网格。点击一个格子会选中它,显示带编号的颜色:,并把颜色载入下方的色轮
  • 选中格子的槽位名称

编辑器在副本上工作。保存之前,任何改动都不会进入关卡。保存本身是一个撤销步骤

选择槽位

把颜色切换为主题,然后打开选择主题颜色

网格显示的是在你正在编辑的关键帧所在帧上混合后的调色板,而不是播放头处的。旁边显示该帧前后的两个主题关键帧,以及选中的槽位在每个关键帧中的颜色。未命名的槽位显示为(未命名)

分享和导入

  • 本设备的共享库。主题行上的导出会把主题保存到resources/themes,这是整个设备共用的库,resources与levels位于同一目录下(见关卡文件夹与备份)。主题库列出其中的主题,并标记已经关卡中的主题。删除会把主题从库中移除。导入会把主题复制到关卡中,所以关卡永远不依赖你的库
  • 游戏自带的主题。选择主题会在关卡自己的主题旁边列出游戏自带的主题
  • Afterbeat。导入.vgt把Afterbeat的主题文件转换为关卡主题。再次导入同一个文件会更新该主题,而不是创建副本。导出.vgt把关卡的所有主题写入你选择的文件夹,每个主题一个文件。透明度会被丢弃,因为Afterbeat的主题颜色不带透明度。这两个按钮在Android、iOS和WebGL上隐藏(见从Afterbeat导入)

接下来:颜色、主题与后期处理、可读性与公平