3个版本
0.1.2 | 2024年7月29日 |
---|---|
0.1.1 | 2024年6月3日 |
0.1.0 | 2024年3月3日 |
401 在 图像
每月142次下载
1.5MB
503 行
scrcreeps 本地可视化
该库为可编程的MMO游戏Screeps提供创建房间图像的帮助方法,不依赖游戏中的渲染器。
示例用法
以下示例代码生成一个图像 simple.png
,表示一个带有扩展、资源、催化剂矿物、沼泽和3面墙的空房间。
use screeps_local_visuals::render;
use render::{ Terrain, Resource, BuildableStructure, OutputImage, DEFAULT_ROOM_MAX_ROWS, DEFAULT_ROOM_MAX_COLUMNS };
fn main() {
make_map_image("simple.png");
}
fn make_map_image(filename: &str) {
let mut imgbuf = render::create_image();
draw_terrain(&mut imgbuf);
draw_test_terrain(&mut imgbuf);
draw_test_resource(&mut imgbuf);
draw_test_structure(&mut imgbuf);
render::draw_grid(&mut imgbuf);
imgbuf.save(filename).unwrap();
}
fn draw_terrain(imgbuf: &mut OutputImage) {
for col in 0..DEFAULT_ROOM_MAX_COLUMNS {
for row in 0..DEFAULT_ROOM_MAX_ROWS {
render::draw_terrain_tile_xy(imgbuf, col, row, &Terrain::Plain);
}
}
}
fn draw_test_terrain(imgbuf: &mut OutputImage) {
render::draw_terrain_tile_xy(imgbuf, 20, 20, &Terrain::Swamp);
render::draw_terrain_tile_xy(imgbuf, 21, 20, &Terrain::Wall);
render::draw_terrain_tile_xy(imgbuf, 21, 21, &Terrain::Wall);
render::draw_terrain_tile_xy(imgbuf, 20, 21, &Terrain::Wall);
}
fn draw_test_resource(imgbuf: &mut OutputImage) {
render::draw_resource_tile_xy(imgbuf, 10, 20, &Resource::Source);
render::draw_resource_tile_xy(imgbuf, 20, 10, &Resource::Catalyst);
}
fn draw_test_structure(imgbuf: &mut OutputImage) {
render::draw_buildablestructure_tile_xy(imgbuf, 10, 10, &BuildableStructure::Extension);
}
依赖关系
~17MB
~293K SLoC