一个编写 .osb 脚本的例子。
本指南会描述 .osb 或 .osu 文件中,[Events]
部分下的代码。谱面 .osb 文件中的命令,所有难度都会使用;而 .osu 文件中的命令只由对应难度使用。
故事板对象指的是故事板中精灵图或动画的实例。故事板也可以播放声音,请阅读音频指南获取详情。
可以使用 PNG 与 JPEG 格式的图片作为对象。JPEG 格式是有损的,意味着文件较小,不会精确存储每个像素,也不支持透明。因此,这种格式适用于背景图片、方形图像与自然图像。PNG 格式是无损的,意味着它会保留每个像素的信息,但文件会比 JPEG 大。PNG 格式支持透明,因此通常是叠加在其他图像之上的对象或显示文本的最佳选择。
引擎会使用命令处理动态图片,因此请勿使用 PNG 格式的多图层或动态图片功能。相反地,你应该将动态图片包含的每一帧图像保存为单一文件,并且在文件的扩展名的点之前加一个数字,来让引擎按顺序播放动画(比如,对于包含两帧的动态图片 “sample.png”,可改名为 “sample0.png” 与 “sample1.png”)。
编辑器屏幕大小。绿色区域对应屏幕大小,红色对应游玩区域
编辑器屏幕大小为 640 x 480 像素,常规游玩区域大小为 510 x 385 像素。
坐标使用数值指定,X
轴正方向向右、Y
轴向下,原点 (0,0) 位于屏幕左上角。也可以指定这个范围外的坐标(比如让精灵图从屏幕外进入屏幕)。
编辑器坐标:
屏幕 | x | y |
---|---|---|
编辑器 | 0–640 | 0–480 |
游玩区域 | 60–570 | 55–440 |
所有故事板精灵图都位于皮肤与打击物件下层。因此,即使是故事板中“最高”的层(前景层)也会显示在血条、物件与光标等等下方。
一共有四个故事板层,按优先级从低到高排序:
注意与“设计”标签页中所示不同,“失败”与“通过”层不会同时出现。
默认情况下,谱面指定的预览背景(可在选歌界面中看到的背景)置于所有四层下面。然而,如果相同的背景文件被引用为故事板中的对象,则在谱面加载后会立即消失。通常会将谱面的预览背景图指定为(时间与精灵图上)第一个对象,并使用“渐隐”(变亮)命令将背景“引进”给玩家。
使用故事板而非视频文件的想法,来自**动态更改元素,使之与游玩情况匹配的能力。**取决于玩家的表现状况,osu! 一次只会显示失败或通过层之一。这两个状况被称作“失败状态”与“通过状态”。
游玩时间前(如第一个圆圈/滑条/转盘前,不一定在 MP3/OGG 音频开始播放前)的状态:
游玩期间(“掉血时间”,玩家需要点击物件,防止血量下降)的状态:
休息时段(游玩时段之间)的状态:
若谱面至少有一个休息时段,在上一游玩时间后的状态:
若谱面没有休息时段,在上一游玩时间后的状态:
用 CTRL+C 复制时间戳。
.mp3
/.ogg
) 起始处开始,以毫秒为单位(1000 毫秒 = 1 秒),也可以用负值表示片头。跳过
按钮。点击按钮或按下空格
后会跳转到时间 0,此时游戏转而使用正常的谱面前跳转行为(例如再点一次跳过
会直接跳转到倒计时 - 与《精英节拍特工》中不同,后者在重玩谱面时会将玩家带回最起点,而不是时间 0)。跳过
按钮或按下空格
键时,游戏会转场到结算界面。
Ctrl
+ C
可将时间复制到剪贴板。可以添加 C 语言样式的单行注释,但请注意,当在游戏内编辑器保存谱面时,注释可能会被移除。默认情况下,有几条注释会建议你将命令按四层分开写。
// 这是一条注释。
与 C/C++/C#/Java 中的注释不同,注释不能与有效命令放在同一行。也无法在脚本中使用块注释。