3个版本
新 0.1.2 | 2024年8月25日 |
---|---|
0.1.1 | 2024年8月24日 |
0.1.0 | 2024年8月24日 |
#501 在 编码
每月下载量107
61KB
1.5K SLoC
strawberride
这是一个用于从文件中加载和保存Celeste地图的库,包括对地图对象(如关卡、实体、贴图、瓦片地图等)的高级表示!
此库专注于准确性和易用性,能够无损地加载和保存所需的任何地图。
/// Rotate all levels in the map 180 degrees
let mut f = File::options()
.read(true)
.write(true)
.open("map.bin").unwrap();
let mut map = Map::load(&mut f, true).unwrap();
for level in map.levels.iter_mut() {
let tilemap = &mut level.solids;
let width = tilemap.width();
let height = tilemap.height();
for y in 0..(height / 2) {
for x in 0..width {
let src = tilemap[(x, y)];
let dst = tilemap[(width - x - 1, height - y - 1)];
tilemap[(x, y)] = dst;
tilemap[(width - x - 1, height - y - 1)] = src;
}
}
}
f.seek(SeekFrom::Start(0)).unwrap();
map.store(&mut f, true).unwrap();
依赖项
~1.5MB
~25K SLoC