故事板对象/精灵图调用
在制作故事板时,对象指的是出现在屏幕上、构成故事板的精灵图或动画。故事板特有的音频实例也可被称作对象;但出于阐明目的,它们有单独的小节。
要调用精灵图(静态图像)或动画的实例,在 .osb 或 .osu 文件中的 [Events]
小节添加一行命令即可。
基本图像 | 动画图像 |
---|---|
Sprite,(layer),(origin),"(filepath)",(x),(y) | Animation,(layer),(origin),"(filepath)",(x),(y),(frameCount),(frameDelay),(looptype) |
其中:
层可使用以下数值:
数值 | 层 |
---|---|
0 | Background(背景层) |
1 | Fail(失败层) |
2 | Pass(通过层) |
3 | Foreground(前景层) |
原点可使用以下数值:
数值 | 原点 |
---|---|
0 | TopLeft(左上角) |
1 | Centre(中心) |
2 | CentreLeft(中心左侧) |
3 | TopRight(右上角) |
4 | BottomCentre(底部中心) |
5 | TopCentre(顶部中心) |
6 | Custom(自定义,与左上角效果相同,但不应使用) |
7 | CentreRight(中心右侧) |
8 | BottomLeft(左下角) |
9 | BottomRight(右下角) |
仅限动画使用:
frameCount = 2
。frameDelay = 500
。请注意,没有对象出现时间对应的数值,这完全取决于命令本身。.osu 或 .osb 文件中对象的定义顺序只会影响覆盖;它与对象出现的时间无关(但通常将定义语句按对象出现顺序排列)。
基本图像 | 动画图像 |
---|---|
Sprite,(layer),(origin),"(filepath)",(x),(y) | Animation,(layer),(origin),"(filepath)",(x),(y),(frameCount),(frameDelay),(looptype) |
举些对象定义的例子:
Sprite,Pass,Centre,"Text\Play2-HaveFunH.png",320,240
这条语句定义了一个静止图像(精灵图),对应“Text”文件夹中的“Play2-HaveFunH.png”文件。图像出现在通过层,其中心位于游戏屏幕的 (320,240) 处(正中心)。
Animation,Fail,BottomCentre,"Other\Play3\explosion.png",418,108,12,31,LoopForever
这条语句定义了一个动画,帧图像可在“Other”文件夹中的“Play3”文件夹找到,名为“explosion0.png”“explosion1.png”...“explosion11.png”。图像出现在失败层,其底部中心位于游戏屏幕的 (418,108) 处。动画共有 12 帧(因此最后一帧名为“explosion11.png”),每帧之间有 31 毫秒的延迟(因此动画播放一次需要 31 * 12 = 372 毫秒)。在游戏显示最后一帧 31 毫秒后,则会回到第一帧继续播放,直到对象不再在屏幕上显示。