消息定义 (<MessageDef>)
功能说明
消息定义用于在游戏中创建各种提示文本或通知。通过定义消息,开发者可以控制文本的实际内容、显示类别(例如聊天气泡、屏幕中央大字等)以及文本的颜色,从而实现多样化的游戏内信息交互。
可用参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
defName | 字符串 | 无 | 必需。该消息定义的唯一标识符。 |
label | 字符串 | (空) | 可选。该消息的内部标识标签,通常用于编辑器预览。 |
description | 字符串 | (空) | 可选。该消息的详细描述或备注。 |
type | 字符串 | 无 | 必需。定义消息的显示类别,如在实体上方显示或屏幕中央显示。详见下文**type 字段**。 |
text | 字符串 | 无 | 必需。消息的实际文本内容。 |
color | 字符串 | (空) | 可选。消息文本的颜色,使用HTML颜色字符串格式。详见下文**color 字段**。 |
示例
这是一个定义了几种不同显示类别的消息的例子:
<Define>
<MessageDef>
<defName>InteractionHint</defName>
<label>互动提示</label>
<description>在NPC或可互动对象上方显示的简短提示</description>
<type>FocusedEntityOverheadText</type>
<text>按 [E] 互动</text>
<color>#00FF00</color> <!-- 绿色文本 -->
</MessageDef>
<MessageDef>
<defName>DialogueBubble</defName>
<label>对话气泡</label>
<description>NPC说话时显示的聊天气泡</description>
<type>FocusedEntityChatBubble</type>
<text>你好,初次见面!</text>
<color>#FFFFFF</color> <!-- 白色文本 -->
</MessageDef>
<MessageDef>
<defName>QuestComplete</defName>
<label>任务完成通知</label>
<description>任务完成时在屏幕中央显示的大型通知</description>
<type>ScreenCenterLargeText</type>
<text>任务完成!</text>
<color>Gold</color> <!-- 金色文本 -->
</MessageDef>
<MessageDef>
<defName>AmbientHint</defName>
<label>环境提示</label>
<description>右下角浮动的非干扰性提示</description>
<type>PassiveHint</type>
<text>区域发现:神秘森林</text>
<color>LightGray</color> <!-- 浅灰色文本 -->
</MessageDef>
</Define>
复杂参数说明
type 字段 (消息显示类别)
- 说明:定义消息在游戏中的具体显示方式和位置。
- 可选值:
Default: 默认或未分类的显示方式。FocusedEntityChatBubble: 显示在玩家当前焦点实体(如NPC或交互物)上方,以聊天气泡形式呈现。FocusedEntityOverheadText: 显示在玩家当前焦点实体(如NPC或交互物)头顶,通常是简短的状态、名称或互动提示。ScreenCenterLargeText: 大型文本显示在屏幕中央,通常用于重要通知、标题或剧情提示,需要玩家立即注意。PassiveHint: 非焦点提示,通常以不易干扰的方式(如屏幕边缘、HUD小字或右下角浮动)显示,提供辅助信息、次要指引或环境提示。
- 示例:
<type>FocusedEntityOverheadText</type>
color 字段 (文本颜色)
- 说明:定义消息文本的颜色。颜色值必须是有效的HTML颜色字符串,支持多种格式:
- 颜色名称:如 "Red", "Blue", "Green", "Gold", "LightGray" 等。
- 十六进制RGB/RGBA值:
#RRGGBB:例如#FF0000(红色),#00FF00(绿色),#0000FF(蓝色)。#AARRGGBB:例如#80FF0000(半透明红色)。#RGB或#ARGB:例如#F00(红色),#8F00(半透明红色)。
- 示例:
<color>#FF00FF</color> <!-- 紫色文本 --> <color>Blue</color> <!-- 蓝色文本 --> <color>#FFFF0000</color> <!-- 不透明红色文本 -->