2 个版本
| 0.1.1 | 2024 年 3 月 11 日 |
|---|---|
| 0.1.0 | 2024 年 2 月 27 日 |
#1488 in 解析器实现
79KB
2K SLoC
rosu-storyboard
用于解码和编码 osu! storyboards 的库。
使用方法
基于 rosu-map 的 DecodeBeatmap 特性,Storyboard 结构体提供了一种解码 .osu 或 .osb 文件的方法。
use rosu_storyboard::Storyboard;
use rosu_storyboard::element::ElementKind;
let path = "./resources/Himeringo - Yotsuya-san ni Yoroshiku (RLC) [Winber1's Extreme].osu";
let storyboard = Storyboard::from_path(path).unwrap();
let first_bg_elem = &storyboard.layers["Background"].elements[0];
assert!(matches!(first_bg_elem.kind, ElementKind::Sprite(_)));
lib.rs:
用于解码和编码 osu! storyboards 的库。
使用方法
基于 rosu-map 的 DecodeBeatmap 特性,Storyboard 结构体提供了一种解码 .osu 或 .osb 文件的方法。
use rosu_storyboard::Storyboard;
use rosu_storyboard::element::ElementKind;
let path = "./resources/Himeringo - Yotsuya-san ni Yoroshiku (RLC) [Winber1's Extreme].osu";
let storyboard = Storyboard::from_path(path).unwrap();
let first_bg_elem = &storyboard.layers["Background"].elements[0];
assert!(matches!(first_bg_elem.kind, ElementKind::Sprite(_)));
依赖
~240KB