#sprite-sheet #cli

应用 sprongen

为给定的精灵图 PNG 图片生成 RON 文件

2 个版本

0.0.2 2020 年 1 月 15 日
0.0.1 2020 年 1 月 15 日

#3 in #spritesheet

MIT 许可证

18KB
390 代码行

sprongen

Spritesheet
RON
Generator

描述

为您的精灵图 PNG 图片生成 RON 精灵图配置文件。
精灵图配置使用 amethyst 引擎。
生成的 RON 文件放置在相应的 PNG 图片文件旁边。(待定:使其可配置)

安装

crates.io

cargo install sprongen

从源代码

克隆此仓库 ...

git clone https://github.com/Noah2610/sprongen

使用 cargo 进行安装 ...

cargo install --path sprongen/ --force

用法

sprongen --help
sprongen 0.0.1
Generate RON files for the given spritesheet PNG images

USAGE:
    sprongen [FLAGS] [OPTIONS] <FILES>...

FLAGS:
    -h, --help
            Prints help information

    -p, --pretty
            Pretty format the generated RON files.

            Without this, generated RON files will have no new-lines/spacing.
    -V, --version
            Prints version information

    -v, --verbose
            Enable verbose logging.

            Prints information about used options, what PNG files are read, and what RON files are being generated. Is
            printed to stderr.

OPTIONS:
    -s, --tile-size <tile-size>
            Use the given tile size.

            <tile-size> format is `<width>x<height>`, where <width> and <height> are positive integers. [default: 32x32]

ARGS:
    <FILES>...

示例

假设我们有一个名为 spritesheets/ 的目录,其中包含一些
PNG 精灵图图片,我们想要为这些图片创建 RON 配置文件。
我们的文件结构可能如下所示 ...

spritesheets/
├── player.png
└── tiles.png

有关示例精灵图的元数据细节

  • player.png
    此图像中的所有精灵大小为 32x64 像素。
  • tiles.png
    此图像中的所有精灵大小为 16x16 像素。

现在,我们想要生成 RON 配置文件,这些文件将用于我们的 amethyst 游戏。
这些配置文件需要定义精灵图中的每个精灵的位置和大小。

要生成 RON 文件,考虑到上述详细信息,使用 sprongen 如下 ...

sprongen -vp --tile-size 32x64 spritesheets/player.png
sprongen -vp --tile-size 16x16 spritesheets/tiles.png
使用命令行选项的解释
  • -s--tile-size
    设置目标瓦片大小,如我们上面定义的那样。
    对于此示例,这是唯一必要的选项。
  • -v--verbose
    详细日志,输出有关正在发生的事情的信息。
  • -p--pretty
    格式化,生成的 RON 文件具有美观的格式,
    包含换行和空格以提高可读性。

在此之后,我们的新文件结构将如下所示 ...

spritesheets/
├── player.png
├── player.ron
├── tiles.png
└── tiles.ron

许可证

MIT 许可证 的条款下分发。

依赖关系

~4MB
~78K SLoC