模组:Content Patcher 制作指南/修改图像
← 模组:目录
带有 "Action": "EditImage" 的补丁可以更改游戏已加载的图像的一部分。多个内容包可以编辑同一素材。您可以使用补丁向下延伸图像(Content Patcher 会自动扩大图像以适应新图像)。
用法
格式
一个 EditImage 补丁由 Changes(请参阅下文示例)下的一个模型组成,包含以下字段。
- 必填字段:
 - 
字段 用途 Action要进行的更改类型。此操作类型设置为 EditImage。Target要修改的目标游戏素材名称(或多个由逗号分隔的素材名),例如 Portraits/Abigail。该字段支持令牌,不区分大小写。FromFile内容包文件夹中用于修补到目标中的文件的相对路径(例如 assets/dinosaur.png),或多个逗号分隔的路径。这可以是.png或.xnb文件。该字段支持令牌,不区分大小写。 - 可选字段:
 - 
字段 用途 FromAreaToAreaPatchModeWhen(可选)仅在给定的条件匹配时应用这个内容补丁。 LogName(可选)在日志中显示的补丁名称。这有助于查找错误。如果省略,则默认为类似 EditImage Animals/Dinosaur的名字。Update(可选)补丁字段的更新频率。请参阅补丁更新频率。 LocalTokens(可选)一组仅在此补丁中生效的局部令牌。  - 进阶字段:
 - 
字段 用途 Priority(可选)当多个补丁编辑同一数据素材时,此字段控制它们应用的顺序。可用的值有 Early(更早),Default(默认),还有Late(更晚)。默认值为Default。补丁(包括所有模组)按以下顺序生效:
- 优先级从早到晚;
 - 按照模组加载顺序(基于依赖关系等因素);
 - 按照补丁在 
content.json中列出的顺序。 
如果需要更具体的顺序,可以使用简单的偏移量,如
"Default + 2"或者"Late - 10"。默认值为 -1000(Early),0(Default)和 1000(Late)。此字段不支持令牌,不区分大小写。
警告
优先级会让您的更改难以排除故障。推荐做法:
- 如果可以的话,只使用上述无偏移的优先级(例如外观覆盖设为 
Late) - 不需要为您自己的补丁设置优先级,因为您可以自己在 content.json 排列好补丁应用的顺序。
 
TargetLocale(可选)素材名称中要匹配的地区代码,例如设置 "TargetLocale": "fr-FR"将会只编辑法语的素材(例如Data/Achievements.fr-FR)。可以为空,只有只编辑没有地域区分的基本素材。如果省略,则将应用于所有素材,不论其是否存在本地化。
 
示例
这个示例改变某一物品的图标:
{
    "Format": "2.7.0",
    "Changes": [
        {
            "Action": "EditImage",
            "Target": "Maps/springobjects",
            "FromFile": "assets/fish-object.png",
            "FromArea": { "X": 0, "Y": 0, "Width": 16, "Height": 16 }, // 可选,默认整个图片
            "ToArea": { "X": 256, "Y": 96, "Width": 16, "Height": 16 } // 可选,默认与 FromArea 大小相同
        },
    ]
}
参见
- 其他操作和选项请参见模组作者指南。
 
                
                    沪公网安备 31011002002714 号