铁锈战争模组和地图制作帮助文档

贴花系统

在铁锈战争中,贴花系统用于在单位上添加额外的视觉效果。本章节将详细介绍如何配置贴花,包括图像设置、显示条件、位置控制等。

贴花基本配置

贴花系统通过[decal_#]部分来定义,其中#是贴花的编号:

[decal_#] 贴花设置

[decal_1]
image:decals/shield.png
layer:afterBody
order:1
            

贴花基本属性说明

属性 说明 示例
image 贴花图像 image:decals/shield.png
layer 绘制图层 layer:afterBody
order 排序 order:1

图层设置

可以设置贴花的绘制图层:

图层类型

[decal_1]
image:decals/shadow.png
layer:shadow

[decal_2]
image:decals/overlay.png
layer:beforeBody

[decal_3]
image:decals/effect.png
layer:afterBody

[decal_4]
image:decals/ui.png
layer:onTop

[decal_5]
image:decals/interface.png
layer:beforeUI
            

图层类型说明

图层 说明
shadow 阴影层
beforeBody 主体之上层
afterBody 主体之下层
onTop 最顶层
beforeUI 界面之上层

显示条件设置

可以设置贴花的显示条件:

显示条件属性

[decal_1]
image:decals/selected.png
layer:onTop
onlyWhenSelectedByOwnPlayer:true
onlyWhenSelectedByEnemyPlayer:false
onlyWhenSelectedByAllyNotOwnPlayer:false
onlyWhenSelectedByAnyPlayer:false
            

显示条件属性说明

属性 说明 示例
onlyWhenSelectedByOwnPlayer 仅在被拥有者选中时绘制 onlyWhenSelectedByOwnPlayer:true
onlyWhenSelectedByEnemyPlayer 被敌方玩家选中时绘制 onlyWhenSelectedByEnemyPlayer:false
onlyWhenSelectedByAllyNotOwnPlayer 非自身队伍的盟友选中时绘制 onlyWhenSelectedByAllyNotOwnPlayer:false
onlyWhenSelectedByAnyPlayer 被任意玩家选中时绘制 onlyWhenSelectedByAnyPlayer:false

队伍相关设置

可以设置贴花的队伍相关条件:

队伍相关属性

[decal_1]
image:decals/team_indicator.png
layer:onTop
onlyTeam:own
onlyPlayersWithUnitControl:true
            

队伍相关属性说明

属性 说明 示例
onlyTeam 仅在查看者为特定队伍时显示 onlyTeam:own
onlyPlayersWithUnitControl 仅在查看者能够控制此单位时绘制 onlyPlayersWithUnitControl:true

队伍关系选项

选项 说明
own 己方
notOwn 非己方
neutral 中立方
allyNotOwn 除自己外盟友
ally 盟友
enemy 敌方
any 任意

缩放和可见性设置

可以设置贴花的缩放和可见性:

缩放和可见性属性

[decal_1]
image:decals/detail.png
layer:afterBody
imageScale:1.5
imageScaleX:1.2
imageScaleY:1.2
isVisible:if self.hp < 500
onlyWithZoomLevelOrMore:true
onlyWhileActive:true
onlyWhileAlive:true
            

缩放和可见性属性说明

属性 说明 示例
imageScale 图像缩放(倍数) imageScale:1.5
imageScaleX 图像X缩放 imageScaleX:1.2
imageScaleY 图像Y缩放 imageScaleY:1.2
isVisible 可见性条件 isVisible:if self.hp < 500
onlyWithZoomLevelOrMore 仅当缩放到当前大小或更大时绘制 onlyWithZoomLevelOrMore:true
onlyWhileActive 仅在单位建造完成时绘制 onlyWhileActive:true
onlyWhileAlive 仅在存活时绘制 onlyWhileAlive:true

预览和非预览设置

可以设置贴花在预览和非预览状态下的显示:

预览相关属性

[decal_1]
image:decals/preview.png
layer:afterBody
onlyInPreview:true

[decal_2]
image:decals/normal.png
layer:afterBody
onlyOnNonPreview:true
            

预览相关属性说明

属性 说明 示例
onlyInPreview 仅在侧边栏和建筑放置预览中显示 onlyInPreview:true
onlyOnNonPreview 仅在非预览中显示 onlyOnNonPreview:true

图像堆叠设置

可以设置图像堆叠效果:

图像堆叠属性

[decal_1]
imageStack:decals/voxel_1.png,decals/voxel_2.png,decals/voxel_3.png
layer:afterBody
stack_hOffset:1
stack_frameOffset:2
stack_drawInReverseOrder:0
stack_indexStart:0
stack_indexCount:3
            

图像堆叠属性说明

属性 说明 示例
imageStack 图像列表 imageStack:decals/voxel_1.png,decals/voxel_2.png
stack_hOffset 列表图像高度偏移 stack_hOffset:1
stack_frameOffset 列表图像帧偏移 stack_frameOffset:2
stack_drawInReverseOrder 列表图像绘图顺序 stack_drawInReverseOrder:0
stack_indexStart 列表图像起始图像 stack_indexStart:0
stack_indexCount 列表图像数量 stack_indexCount:3

帧动画设置

可以设置贴花的帧动画:

帧动画属性

[decal_1]
image:decals/animated.png
layer:afterBody
total_frames:12
frame_verticalOrdering:true
frame_width:32
frame_height:32
frame:0
addBodyFrameMultipliedBy:1.2
            

帧动画属性说明

属性 说明 示例
total_frames 总帧数 total_frames:12
frame_verticalOrdering 帧清单 frame_verticalOrdering:true
frame_width 帧宽度 frame_width:32
frame_height 帧高度 frame_height:32
frame frame:0
addBodyFrameMultipliedBy 添加主体帧乘数 addBodyFrameMultipliedBy:1.2

位置和偏移设置

可以设置贴花的位置和偏移:

位置和偏移属性

[decal_1]
image:decals/indicator.png
layer:onTop
xOffsetRelative:200
yOffsetRelative:200
xOffsetAbsolute:10
yOffsetAbsolute:10
hOffset:2
dirOffset:25
pivotOffset:125
            

位置和偏移属性说明

属性 说明 示例
xOffsetRelative X相对偏移 xOffsetRelative:200
yOffsetRelative Y相对偏移 yOffsetRelative:200
xOffsetAbsolute X绝对偏移 xOffsetAbsolute:10
yOffsetAbsolute Y绝对偏移 yOffsetAbsolute:10
hOffset 高度偏移 hOffset:2
dirOffset 朝向角偏移 dirOffset:25
pivotOffset 坐标系旋转 pivotOffset:125

中心位置设置

可以设置贴花的中心位置:

中心位置属性

[decal_1]
image:decals/target.png
layer:onTop
basePosition:nearestUnit
basePositionFromLeg:1
basePositionFromTurret:5
basePositionFromLegEnd:leg_1
            

中心位置属性说明

属性 说明 示例
basePosition 中心位置(填单位参考) basePosition:nearestUnit
basePositionFromLeg 以脚为中心位置 basePositionFromLeg:1
basePositionFromTurret 以炮塔为中心位置 basePositionFromTurret:5
basePositionFromLegEnd 以腿为中心位置 basePositionFromLegEnd:leg_1

线条绘制设置

可以设置贴花的线条绘制效果:

线条绘制属性

[decal_1]
image:decals/line.png
layer:onTop
drawLineTo:nearestUnit
lineWidth:21.564
color:#FF0000
alpha:0.8
            

线条绘制属性说明

属性 说明 示例
drawLineTo 绘制线条到(受到颜色和宽度影响) drawLineTo:nearestUnit
lineWidth 线宽度 lineWidth:21.564
color 颜色(影响图像和线条) color:#FF0000
alpha 透明度(影响颜色和线条) alpha:0.8

阴影设置

可以设置贴花的阴影效果:

阴影属性

[decal_1]
image:decals/object.png
layer:afterBody
image_shadow:decals/shadow.png
shadowOffsetX:12
shadowOffsetY:21
            

阴影属性说明

属性 说明 示例
image_shadow 阴影图像 image_shadow:decals/shadow.png
shadowOffsetX 阴影偏移X shadowOffsetX:12
shadowOffsetY 阴影偏移Y shadowOffsetY:21

颜色和团队设置

可以设置贴花的颜色和团队效果:

颜色和团队属性

[decal_1]
image:decals/team_color.png
layer:afterBody
teamColors:true
color:#00FF00
alpha:0.7
            

颜色和团队属性说明

属性 说明 示例
teamColors 阵营色 teamColors:true
color 颜色(影响图像和线条) color:#00FF00
alpha 透明度(影响颜色和线条) alpha:0.7

方向和高度设置

可以设置贴花的方向和高度:

方向和高度属性

[decal_1]
image:decals/indicator.png
layer:onTop
alwaysStartDirAtZero:true
alwaysStartHeightAtZero:false
            

方向和高度属性说明

属性 说明 示例
alwaysStartDirAtZero 总是固定朝向角为零(总是朝上) alwaysStartDirAtZero:true
alwaysStartHeightAtZero 总是固定高度为零 alwaysStartHeightAtZero:false

完整贴花示例

选择指示器贴花

[decal_selection]
image:decals/selection_ring.png
layer:onTop
order:1
onlyWhenSelectedByOwnPlayer:true
imageScale:1.2
color:#00FF00
alpha:0.8
alwaysStartDirAtZero:true
            

血量指示器贴花

[decal_health]
image:decals/health_bar.png
layer:onTop
order:2
onlyWhenSelectedByOwnPlayer:true
isVisible:if self.hp < self.maxHp
imageScaleX:1.5
imageScaleY:0.5
xOffsetRelative:0
yOffsetRelative:-50
color:#FF0000
alpha:0.9
            

团队标识贴花

[decal_team]
image:decals/team_icon.png
layer:onTop
order:3
onlyTeam:own
teamColors:true
imageScale:0.8
xOffsetRelative:0
yOffsetRelative:50
alwaysStartDirAtZero:true
            

特殊状态贴花

[decal_shield]
image:decals/shield_effect.png
layer:beforeBody
order:1
isVisible:if self.shield > 0
imageScale:1.3
color:#0000FF
alpha:0.6
            

注意事项

回到顶部