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