#ldtk #level-design #thin #people #who #freely #file

ldtk2

专为想自由使用ldtk文件的人设计的轻量级crate

16个版本

0.8.0 2024年3月11日
0.7.0 2022年4月25日
0.6.0 2022年3月30日
0.5.1 2021年8月26日
0.2.1 2021年2月16日

#275 in 游戏开发

Apache-2.0

60KB
773

Crates.io Documentation License Workflow Status

ldtk2

专为想自由使用ldtk文件的人设计的轻量级crate。

我为什么要创建这个垃圾?

  • LDtk-rs 使用代码生成,无法从rust-analyzer获得自动完成支持。此外,该crate使用还存在特殊许可限制。
  • ldtk_rust 在crate中使用 .except(),无法处理错误。

支持的LDtk文件版本

^1.5

使用方法

cargo add ldtk2
use std::{error::Error, path::Path, convert::TryInto};
use ldtk2::Ldtk;

fn main() -> Result<(), Box<dyn Error>> {

  let map = Ldtk::from_path("tests/example.ldtk")?;
  // or
  let map: Ldtk = Path::new("tests/example.ldtk").try_into()?;
  // or
  let map = Ldtk::from_str(include_str!("../tests/example.ldtk"))?;
  // or
  let map: Ldtk = include_str!("../tests/example.ldtk").try_into()?;

  Ok(())
}

依赖项

~0.7–1.6MB
~35K SLoC