4个版本
使用旧的Rust 2015
0.2.1 | 2017年9月22日 |
---|---|
0.2.0 | 2017年2月14日 |
0.1.1 | 2016年12月30日 |
0.1.0 | 2016年7月17日 |
#1325 in 游戏开发
2,636 每月下载量
用于 16 个Crate (7 直接使用)
19KB
393 行
rect-packer 
将多个矩形打包进一个更大的矩形中。可用于将精灵打包到纹理中,用于2D游戏。使用天际线启发式算法。经过大量随机数据的测试,确保其总是产生正确的结果。
lib.rs
:
将小矩形打包进一个更大的矩形中。这对于创建用于高效GPU渲染的纹理图集非常有用。
使用示例
use rect_packer::Packer;
let config = rect_packer::Config {
width: 1024,
height: 1024,
border_padding: 5,
rectangle_padding: 10,
};
let rectangles = [(50, 70), (350, 210), (255, 410)];
let mut packer = Packer::new(config);
for &(width, height) in &rectangles {
if let Some(rect) = packer.pack(width, height, false) {
println!("Rectangle is at position ({}, {}) within the encompassing rectangle",
rect.x,
rect.y);
}
}