ra3-map-csharp
スター1
フォーク0
更新日2026年6月22日 00:54
编写c#程序, 创建/编辑ra3地图文件.
インストール
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SKILL.md
readonlyメニュー
编写c#程序, 创建/编辑ra3地图文件.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | ra3-map-csharp |
| description | 编写c#程序, 创建/编辑ra3地图文件. |
地图有两种坐标系
网格坐标为大于0的整数
将地图分割为多个正方形区域, 原点为左下角的区域, 水平向右的方向为x轴, 垂直向上的方向为y轴
网格坐标用于描述地图尺寸, 地形高度, 地图纹理信息
地图宽度 = 可游玩区域宽度 + 地图边界宽度 * 2
地图高度 = 可游玩区域高度 + 地图边界宽度 * 2
实际坐标为浮点数
精准地描述地图中的位置, 网格坐标中的一个单位长度为实际坐标中的10个单位长度
主要用于表示物体或路径点的位置
cell_x = ceil((real_x - boder_width * 10) / 10)
cell_y = ceil((real_y - board_width * 10) / 10)
using Dreamness.Ra3.Map.Facade.Core;
using Dreamness.Ra3.Map.Facade.Util;
// 新建一张新地图, 可游玩区域为100x200, 地图边界宽度为10
var ra3Map1 = Ra3MapFacade.NewMap(100, 200, 10);
// 从默认地图文件夹中加载一张已有地图
var ra3Map2 = Ra3MapFacade.Open(Ra3PathUtil.RA3MapFolder, "map_name");
// 另存为; 如果是新地图, 保存时必须用SaveAs, 而不是Save
ra3Map1.SaveAs(Ra3PathUtil.RA3MapFolder, "target_map_name");
// 保存
ra3Map2.Save();
int mapHeight = ra3Map.MapHeight;
int mapWidth = ra3Map.MapWidth;
var mapBorderWidth = ra3Map.MapBorderWidth;
var mapPlayableHeight = ra3Map.MapPlayableHeight;
var mapPlayableWidth = ra3Map.MapPlayableWidth;
// 获取坐标处的高度
float height = ra3Map.GetTerrainHeight(10, 20);
// 设置坐标处的高度
ra3Map.SetTerrainHeight(50, 600, 300.5f);
// 根据高度信息, 自动更新地图中的`可通行性`信息
// 通常在完成一批高度修改后再调用
ra3Map.UpdatePassabilityMap();
// 获取坐标处的纹理
string textureName = ra3Map.GetTileTexture(300, 550);
// 设置坐标处的纹理
ra3Map.SetTileTexture(10, 20, "BB_Gravel01");
// 也可以通过枚举来设置纹理
using Dreamness.Ra3.Map.Facade.enums;
ra3Map.SetTileTexture(10, 20, TextureEnum.BB_Gravel01.ToString());
// 自动纹理混合, 在有必要的情况下调用
ra3Map.AutoDetectBlendsEntireMap();