无编辑摘要 |
小 (文本替换 - 替换“[[Category:”为“[[分类:”) |
||
(未显示1个用户的5个中间版本) | |||
第1行: | 第1行: | ||
{{Version|Timeless}} | {{Version|Timeless}} | ||
在《钢铁雄心IV》中, | 在《钢铁雄心IV》中, 界面 是指玩家用来与游戏交互的用户界面。 | ||
== 概述 == | == 概述 == | ||
界面 文件的组件可以分为两组:容器和元素。例如,''containerWindowType'' 是一个容器,而 ''iconType'' 是一个元素。 | |||
界面 文件使用 .gui 文件类型。 所有 界面 文件都可以在 {{path|interface/}} 中找到。 | |||
当出现 ''internal'' 字样时,这个部分的源代码是只有P社可以修改的,即它所指的主题是不可修改的。 | 当出现 ''internal'' 字样时,这个部分的源代码是只有P社可以修改的,即它所指的主题是不可修改的。 | ||
第43行: | 第43行: | ||
* '''fullscreen''' -设置是否将容器全屏化。 | * '''fullscreen''' -设置是否将容器全屏化。 | ||
* '''orientation''' - 设置 ''position'' 属性的方向原点。 | * '''orientation''' - 设置 ''position'' 属性的方向原点。 | ||
* '''clipping''' - 设置容器是否将修剪其他元素 | * '''clipping''' - 设置容器是否将修剪其他元素( 如在边界处剪切其元素) 。 | ||
以下属性用于动画容器: | 以下属性用于动画容器: | ||
* '''show_position''' - 容器在''显示''模式下移动到的屏幕位置。 | * '''show_position''' - 容器在''显示''模式下移动到的屏幕位置。 | ||
* '''hide_position''' - 容器在''隐藏''模式下移动到的屏幕位置。 | * '''hide_position''' - 容器在''隐藏''模式下移动到的屏幕位置。 | ||
* '''show_animation_type''' - | * '''show_animation_type''' - 用于显示容器的动画类型( 始终''减速)''。 | ||
* '''hide_animation_type''' - | * '''hide_animation_type''' - 用于隐藏容器的动画类型( 始终''加速) 。'' | ||
* '''animation_time''' - 动画播放时间 | * '''animation_time''' - 动画播放时间( 始终''为 300'') 。 | ||
* '''upsound''' - 当容器移动到''显示''位置时要播放的声音。 | * '''upsound''' - 当容器移动到''显示''位置时要播放的声音。 | ||
* '''downsound''' - 当容器移动到''隐藏''位置时要播放的声音。 | * '''downsound''' - 当容器移动到''隐藏''位置时要播放的声音。 | ||
* '''fade_time''' - 淡入淡出的时间。 | * '''fade_time''' - 淡入淡出的时间。 | ||
* '''fade_type''' - 淡入的类型 | * '''fade_type''' - 淡入的类型( 始终为''线性'') 。 | ||
以下属性很少或从不使用: | 以下属性很少或从不使用: | ||
第62行: | 第62行: | ||
== scrollbarType == | == scrollbarType == | ||
'' 滚动条'' 用于定义滚动条由哪些元素组成。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 滚动条名称。 | ||
* '''slider''' - | * '''slider''' - 用作滚动条滑块的按钮元素。 | ||
* '''track''' - | * '''track''' - 用作滚动条跟踪器的按钮元素。 | ||
* '''leftbutton''' - | * '''leftbutton''' - 用作滚动条左增量按钮的按钮元素。 | ||
* '''rightbutton''' - | * '''rightbutton''' - 用作滚动条右增量按钮的按钮元素。 | ||
* '''position''' - | * '''position''' - 滚动条的屏幕位置。 | ||
* '''size''' - | * '''size''' - 滚动条的边界框。 | ||
* '''priority''' - | * '''priority''' - 滚动条相对于其他元素的优先级。 | ||
* '''borderSize''' - | * '''borderSize''' - 滚动条边框的边界框。 | ||
* '''maxValue''' - | * '''maxValue''' - 滚动条能移动的最大值( 用于控制增量) 。 | ||
* '''minValue''' - | * '''minValue''' - 滚动条能移动的最小值( 用于控制增量) 。 | ||
* '''stepSize''' - | * '''stepSize''' - 使用增量按钮的单次增量大小。 | ||
* '''startValue''' - | * '''startValue''' - 滚动条滑块的初始大小。 | ||
* '''horizontal''' - | * '''horizontal''' - 设置滚动条是水平 (1) 还是垂直 (0) 。 | ||
== Elements == | == Elements == | ||
容器中使用了多种元素类型。所有元素都必须在容器内使用,它们不会在容器之外工作。 | |||
元素将继承它们所在的容器的方向,除非为自己指定了方向。 | |||
以下元素可以自由添加,并可用于脚本化 GUI。 | |||
* '''iconType''' - | * '''iconType''' - 用于静态图像。 | ||
* '''instantTextBoxType''' - | * '''instantTextBoxType''' - 用于文本。 | ||
* '''buttonType''' - | * '''buttonType''' - 用于按钮。 | ||
以下元素依赖于内部代码。您可以添加新元素,它们不会填充数据。 | |||
* '''smoothListboxType''' - | * '''smoothListboxType''' - 用于平滑滚动列表。 | ||
* '''listboxType''' - | * '''listboxType''' - 用于滚动列表。 | ||
* '''checkboxType''' - | * '''checkboxType''' - 用于复选框。 | ||
* '''OverlappingElementsBoxType''' - | * '''OverlappingElementsBoxType''' - 用于重叠元素。 | ||
* '''editBoxType''' - | * '''editBoxType''' - 用于可编辑的文本框。 | ||
* '''shieldtype''' - | * '''shieldtype''' - 用于显示国家/地区旗帜。 | ||
以下元素已过时: | |||
* '''guiButtonType''' - | * '''guiButtonType''' - 与 ''buttonType'' 相同。 | ||
* '''textBoxType''' - | * '''textBoxType''' - 与 ''instantTextBoxType'' 相同。 | ||
* '''eu3dialogtype''' - | * '''eu3dialogtype''' - 与 ''windowType'' 相同。 | ||
* '''shieldtype''' - | * '''shieldtype''' - 仅在 ''eu3dialogtype'' 中使用。 较新的文件中的标志使用不同的元素。 | ||
== iconType == | == iconType == | ||
'' 图标'' 元素用于向界面添加图像。它的用法与 ''buttonType'' 重叠,但后者作为按钮运行。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 图标名称。 | ||
* '''position''' - | * '''position''' - 图标的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''spriteType''' - | * '''spriteType''' - 用于图标的图像。引用 ''spriteType'' 定义。 | ||
* '''quadTextureSprite''' - | * '''quadTextureSprite''' - 用于图标的图像。引用动态的 ''spriteType'' 定义( 例如旗帜) 或多帧的 ''spriteType'' 定义。 | ||
* '''frame''' - | * '''frame''' - 使用多帧图像时要用于图标的帧。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制图标透明,如点击只能一个元素后面的另一个元素。 | ||
* '''hint_tag''' - | * '''hint_tag''' - 设置鼠标悬停在图标上方时用于显示提示的关键字。 | ||
* '''pdx_tooltip''' - | * '''pdx_tooltip''' - 设置要向玩家显示的提示。采用本地化关键字。 | ||
* '''pdx_tooltip_delayed''' - | * '''pdx_tooltip_delayed''' - 设置要向玩家延迟显示的提示。采用本地化关键字。 | ||
* '''centerposition''' - | * '''centerposition''' - 设置位置是否以图标的中心为原点。 | ||
== instantTextBoxType == | == instantTextBoxType == | ||
'' 实例文本框'' 元素用于向界面添加文本。在某些情况下,元素的文本是在内部生成的( 如''regiment_count'') 。在这些情况下,除非文本在本地化字符串中公开,否则无法对其进行编辑。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 文本框名称。 | ||
* '''position''' - | * '''position''' - 文本框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''text''' - | * '''text''' - 文本框显示的文本。 | ||
* '''font''' - | * '''font''' - 用于文本的字体。 | ||
* '''maxWidth''' - | * '''maxWidth''' - 显示文本的总宽度,以像素为单位。 | ||
* '''maxHeight''' - | * '''maxHeight''' - 显示文本的总高度,以像素为单位。 | ||
* '''format''' - | * '''format''' - 文本的对齐方式。 | ||
* '''fixedsize''' - | * '''fixedsize''' - 文本框是否截断超出其边框的文本。 | ||
* '''borderSize''' - | * '''borderSize''' - 文本框边框的边界框。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制文本透明,如点击只能一个元素后面的另一个元素。 | ||
* '''pdx_tooltip''' - | * '''pdx_tooltip''' - 设置要向玩家显示的提示。采用本地化关键字。 | ||
* '''pdx_tooltip_delayed''' - | * '''pdx_tooltip_delayed''' - 设置要向玩家延迟显示的提示。采用本地化关键字。 | ||
以下属性很少或从不使用: | |||
* '''textureFile''' - | * '''textureFile''' - 从不使用。 | ||
可用的 ''format'' 值: | |||
* left | * left | ||
* centre | * centre | ||
第147行: | 第147行: | ||
== buttonType == | == buttonType == | ||
'' 按钮'' 元素用于向界面添加按钮。按钮由图像和文本组成,因此它们的操作方式与 ''iconType'' 和 ''instantTextBoxType'' 类似。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 按钮名称。 | ||
* '''position''' - | * '''position''' - 按钮名称。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''spriteType''' - | * '''spriteType''' - 用于按钮的图像。引用 ''spriteType'' 定义。 | ||
* '''quadTextureSprite''' - | * '''quadTextureSprite''' - 用于按钮的图像。引用动态的 ''spriteType'' 定义( 如旗帜) 或多帧的 ''spriteType'' 定义。 | ||
* '''frame''' - | * '''frame''' - 使用多帧图像时要用于按钮的帧。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制按钮透明,如点击只能一个元素后面的另一个元素。 | ||
* '''buttonText''' - | * '''buttonText''' - 按钮显示的文本。 | ||
* '''buttonFont''' - | * '''buttonFont''' - 用于文本的字体。 | ||
* '''shortcut''' - | * '''shortcut''' - 为此按钮添加的快捷方式。 | ||
* '''clicksound''' - | * '''clicksound''' - 点击时要播放的声音。 | ||
* '''oversound''' - | * '''oversound''' - 悬停时要播放的声音。 | ||
* '''hint_tag''' - | * '''hint_tag''' - 设置鼠标悬停在按钮上方时用于显示提示的关键字。 | ||
* '''pdx_tooltip''' - | * '''pdx_tooltip''' - 设置要向玩家显示的提示。采用本地化关键字。 | ||
* '''pdx_tooltip_delayed''' - | * '''pdx_tooltip_delayed''' - 设置要向玩家延迟显示的提示。采用本地化关键字。 | ||
* '''scale''' - | * '''scale''' - 缩放按钮大小。 | ||
以下属性很少或从不使用: | |||
* '''tooltip''' - | * '''tooltip''' - 从未使用过。 | ||
* '''tooltipText''' - | * '''tooltipText''' - 从未使用过。 | ||
* '''delayedTooltipText''' - | * '''delayedTooltipText''' - 从未使用过。 | ||
== smoothListboxType == | == smoothListboxType == | ||
'' 平滑列表框'' 元素用于定义列表框,该列表框是用条目填充的可滚动列表。 通常,这些元素在内部与另一个容器链接,来构成列表框中使用的实际条目。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 列表框名称。 | ||
* '''position''' - | * '''position''' - 列表框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''size''' - | * '''size''' - 列表框的边界框。 | ||
* '''spacing''' - | * '''spacing''' - 列表框条目的间距。 | ||
* '''horizontal'' - | * '''horizontal''' - 列表框是水平 (1) 还是垂直 (0) 。 | ||
* '''scrollbartype''' - | * '''scrollbartype''' - 用于列表框的滚动条。 | ||
* '''bordersize''' - | * '''bordersize''' - 列表框边框的边界框。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制列表框透明,如点击只能一个元素后面的另一个元素。 | ||
以下属性很少或从不使用: | |||
* '''background''' - | * '''background''' - 从不使用。 | ||
== listboxType == | == listboxType == | ||
'' 列表框'' 元素用于定义列表框,列表框是用条目填充的可滚动列表。通常,这些元素在内部与另一个容器链接,该容器构成列表框中使用的实际条目。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 列表框名称。 | ||
* '''position''' - | * '''position''' - 列表框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''size''' - | * '''size''' - 列表框的边界框。 | ||
* '''spacing''' - | * '''spacing''' - 列表框条目的间距。 | ||
* '''horizontal'' - | * '''horizontal''' - 列表框是水平 (1) 还是垂直 (0) 。 | ||
* '''scrollbartype''' - | * '''scrollbartype''' - 用于列表框的滚动条。 | ||
* '''bordersize''' - | * '''bordersize''' - 列表框边框的边界框。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制列表框透明,如点击只能一个元素后面的另一个元素。 | ||
以下属性很少或从不使用: | |||
* '''background''' - | * '''background''' - 从未使用过。 | ||
== checkboxType == | == checkboxType == | ||
'' 复选框'' 元素用于向界面添加复选框。复选框的实际效果在内部( ''internal'' )定义。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 复选框名称。 | ||
* '''position''' - | * '''position''' - 复选框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''spriteType''' - | * '''spriteType''' - 用于复选框的图像。引用 ''spriteType'' 定义。 | ||
* '''quadTextureSprite''' - | * '''quadTextureSprite''' - 用于复选框的图像。 引用动态的 ''spriteType'' 定义(例如旗帜)或多帧的 ''spriteType'' 定义。 | ||
* '''frame''' - | * '''frame''' - 使用多帧图像时要用于图标的帧。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制复选框透明,如点击只能一个元素后面的另一个元素。 | ||
* '''buttonText''' - | * '''buttonText''' - 复选框显示的文本。 | ||
* '''buttonFont''' - | * '''buttonFont''' - 用于文本的字体。 | ||
* '''shortcut''' - | * '''shortcut''' - 要为此复选框添加的快捷方式。 | ||
* '''clicksound''' - | * '''clicksound''' - 点击时要使用的声音。 | ||
* '''hint_tag''' - | * '''hint_tag''' - 设置鼠标悬停在复选框上方时用于显示提示的关键字。 | ||
* '''pdx_tooltip''' - | * '''pdx_tooltip''' - 设置要向玩家显示的提示。 | ||
* '''pdx_tooltip_delayed''' - | * '''pdx_tooltip_delayed''' - 设置要向玩家延迟显示的提示。 | ||
* '''scale''' - | * '''scale''' - 缩放复选框大小。 | ||
以下属性很少或从不使用: | |||
* '''tooltip''' - | * '''tooltip''' - 从未使用过。 | ||
* '''tooltipText''' - | * '''tooltipText''' - 从未使用过。 | ||
* '''delayedTooltipText''' - | * '''delayedTooltipText''' - 从未使用过。 | ||
== editBoxType == | == editBoxType == | ||
'' 编辑文本框'' 元素用于将可编辑的文本框添加到界面。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 文本框名称。 | ||
* '''position''' - | * '''position''' - 文本框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''text''' - | * '''text''' - 文本框显示的文本。 | ||
* '''font''' - | * '''font''' - 用于文本的字体。 | ||
* '''maxWidth''' - | * '''maxWidth''' - 显示文本的总宽度,以像素为单位。 | ||
* '''maxHeight''' - | * '''maxHeight''' - 显示文本的总高度,以像素为单位。 | ||
* '''format''' - | * '''format''' - 文本的对齐方式。 | ||
* '''fixedsize''' - | * '''fixedsize''' - 文本框是否截断超出其边框的文本。 | ||
* '''borderSize''' - | * '''borderSize''' - 文本框边框的边界框。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制文本框透明,如点击只能一个元素后面的另一个元素。 | ||
* '''ignore_tab_navigation''' - | * '''ignore_tab_navigation''' - 使元素忽略选项卡导航。 | ||
可用的 ''format'' 值: | |||
* left | |||
* centre | |||
* right | |||
== OverlappingElementsBoxType == | == OverlappingElementsBoxType == | ||
'' 重叠元素框'' 元素用于定义一种特殊类型的列表框,该列表框在其内部动态重叠子元素。 | |||
使用以下属性: | |||
* '''name''' - | * '''name''' - 列表框名称。 | ||
* '''position''' - | * '''position''' - 列表框的屏幕位置。 | ||
* '''orientation''' - | * '''orientation''' - 设置'' 位置'' 属性的方向原点。 | ||
* '''size''' - | * '''size''' - 列表框的边界框。 | ||
* '''spacing''' - | * '''spacing''' - 列表框条目的间距。 | ||
* '''horizontal'' - | * '''horizontal''' - 列表框是水平 (1) 还是垂直 (0) 。 | ||
* '''bordersize''' - | * '''bordersize''' - 列表框边框的边界框。 | ||
* '''alwaystransparent''' - | * '''alwaystransparent''' - 强制列表框透明,如点击只能一个元素后面的另一个元素。 | ||
以下属性很少或从不使用: | |||
* '''textureFile''' - | * '''textureFile''' - 从不使用。 | ||
== | == 位置与方向原点 == | ||
了解位置坐标如何工作对于正确编辑界面非常重要。 | |||
元素(或容器)使用的 ''orientation'' 属性会通知您元素的锚点所在位置。例如,''UPPER_LEFT'' 表示位于屏幕的左上角的 (''0, 0)'' 位置,而 ''LOWER_RIGHT'' 是右下角。 | |||
然后,''position'' 属性从此锚点位置工作。因此,如果您希望元素位于屏幕的另一侧,则需要先更改 ''orientation'' 。 | |||
使用这个系统是因为它允许界面适应不同的分辨率。因为所有的位置都与一个特定的原点相联系,这个原点是根据玩家的屏幕分辨率动态计算的,所以容器和元素的位置保持稳定。 | |||
所以,如果你想确保你的界面编辑是稳定的,你必须正确使用 ''orientation'' 属性。 | |||
一个错误的做法是只编辑 ''position'' , 例如 <code>position = { x = 1800 y = 200 }</code> 。这在拥有1800以上像素的显示器( 如1900 x 1200 以上) 中能正常工作,但在更小的显示器上就看不到了。 | |||
可用的 ''orientation'' 值 ( 大小写不敏感): | |||
* CENTER | * CENTER | ||
* UPPER_LEFT | * UPPER_LEFT | ||
第289行: | 第289行: | ||
* LOWER_RIGHT | * LOWER_RIGHT | ||
== | == 字体 == | ||
'' | '' 参考: [[Font modding|Font Modding]]'' | ||
在《钢铁雄心IV》中可用的字体如下: | |||
* Arial12 | * Arial12 | ||
* Arial12_bold | * Arial12_bold | ||
第339行: | 第339行: | ||
{{Modding navbox}} | {{Modding navbox}} | ||
[[ | [[ 分类:Modding]] |
2022年12月5日 (一) 15:55的最新版本
在《钢铁雄心IV》中,界面是指玩家用来与游戏交互的用户界面。
概述
界面文件的组件可以分为两组:容器和元素。例如,containerWindowType 是一个容器,而 iconType 是一个元素。
界面文件使用 .gui 文件类型。 所有界面文件都可以在 /Hearts of Iron IV/interface/ 中找到。
当出现 internal 字样时,这个部分的源代码是只有P社可以修改的,即它所指的主题是不可修改的。
宏
可以在界面文件中使用宏,以便更轻松地调整位置。
例如,这将使一个名为 WINDOW_X_POS 的宏,其值为 10。
@WINDOW_X_POS = 10
可以在元素中这样引用它:
containerWindowType = { name = "my_container" position = { x = @WINDOW_X_POS y = -600 } # ... }
容器
容器用于将元素组合在一起,并将它们与内部函数相关联。
除非通过脚本化 GUI,否则无法添加新容器。这是因为容器的 name 属性在内部链接到容器所需的任何数据。常见的例外是,您可以在 countrytechtreeview.gui 中为自定义技术文件夹添加新容器。
容器定义的顺序和嵌套会影响它们的显示方式。
containerWindowType
最常见的容器类型,用于保存任何一组元素。
通常使用以下属性:
- name - 容器的名称。
- background - 容器的背景。
- position - 容器的屏幕位置。
- size - 容器的边界框。接受百分数( 如 100%% )。
- moveable - 设置是否可以拖动容器。
- fullscreen -设置是否将容器全屏化。
- orientation - 设置 position 属性的方向原点。
- clipping - 设置容器是否将修剪其他元素(如在边界处剪切其元素)。
以下属性用于动画容器:
- show_position - 容器在显示模式下移动到的屏幕位置。
- hide_position - 容器在隐藏模式下移动到的屏幕位置。
- show_animation_type - 用于显示容器的动画类型(始终减速)。
- hide_animation_type - 用于隐藏容器的动画类型(始终加速)。
- animation_time - 动画播放时间(始终为 300)。
- upsound - 当容器移动到显示位置时要播放的声音。
- downsound - 当容器移动到隐藏位置时要播放的声音。
- fade_time - 淡入淡出的时间。
- fade_type - 淡入的类型(始终为线性)。
以下属性很少或从不使用:
- dontRender - 不渲染
- horizontalBorder - 水平边界
- verticalBorder - 垂直边界
scrollbarType
滚动条用于定义滚动条由哪些元素组成。
使用以下属性:
- name - 滚动条名称。
- slider - 用作滚动条滑块的按钮元素。
- track - 用作滚动条跟踪器的按钮元素。
- leftbutton - 用作滚动条左增量按钮的按钮元素。
- rightbutton - 用作滚动条右增量按钮的按钮元素。
- position - 滚动条的屏幕位置。
- size - 滚动条的边界框。
- priority - 滚动条相对于其他元素的优先级。
- borderSize - 滚动条边框的边界框。
- maxValue - 滚动条能移动的最大值(用于控制增量)。
- minValue - 滚动条能移动的最小值(用于控制增量)。
- stepSize - 使用增量按钮的单次增量大小。
- startValue - 滚动条滑块的初始大小。
- horizontal - 设置滚动条是水平 (1) 还是垂直 (0)。
Elements
容器中使用了多种元素类型。所有元素都必须在容器内使用,它们不会在容器之外工作。
元素将继承它们所在的容器的方向,除非为自己指定了方向。
以下元素可以自由添加,并可用于脚本化 GUI。
- iconType - 用于静态图像。
- instantTextBoxType - 用于文本。
- buttonType - 用于按钮。
以下元素依赖于内部代码。您可以添加新元素,它们不会填充数据。
- smoothListboxType - 用于平滑滚动列表。
- listboxType - 用于滚动列表。
- checkboxType - 用于复选框。
- OverlappingElementsBoxType - 用于重叠元素。
- editBoxType - 用于可编辑的文本框。
- shieldtype - 用于显示国家/地区旗帜。
以下元素已过时:
- guiButtonType - 与 buttonType 相同。
- textBoxType -与 instantTextBoxType 相同。
- eu3dialogtype - 与 windowType 相同。
- shieldtype - 仅在 eu3dialogtype 中使用。 较新的文件中的标志使用不同的元素。
iconType
图标元素用于向界面添加图像。它的用法与 buttonType 重叠,但后者作为按钮运行。
使用以下属性:
- name - 图标名称。
- position - 图标的屏幕位置。
- orientation - 设置位置属性的方向原点。
- spriteType - 用于图标的图像。引用 spriteType 定义。
- quadTextureSprite - 用于图标的图像。引用动态的 spriteType 定义(例如旗帜)或多帧的 spriteType 定义。
- frame - 使用多帧图像时要用于图标的帧。
- alwaystransparent - 强制图标透明,如点击只能一个元素后面的另一个元素。
- hint_tag - 设置鼠标悬停在图标上方时用于显示提示的关键字。
- pdx_tooltip - 设置要向玩家显示的提示。采用本地化关键字。
- pdx_tooltip_delayed - 设置要向玩家延迟显示的提示。采用本地化关键字。
- centerposition - 设置位置是否以图标的中心为原点。
instantTextBoxType
实例文本框元素用于向界面添加文本。在某些情况下,元素的文本是在内部生成的(如regiment_count)。在这些情况下,除非文本在本地化字符串中公开,否则无法对其进行编辑。
使用以下属性:
- name - 文本框名称。
- position - 文本框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- text - 文本框显示的文本。
- font - 用于文本的字体。
- maxWidth - 显示文本的总宽度,以像素为单位。
- maxHeight - 显示文本的总高度,以像素为单位。
- format - 文本的对齐方式。
- fixedsize - 文本框是否截断超出其边框的文本。
- borderSize - 文本框边框的边界框。
- alwaystransparent - 强制文本透明,如点击只能一个元素后面的另一个元素。
- pdx_tooltip - 设置要向玩家显示的提示。采用本地化关键字。
- pdx_tooltip_delayed - 设置要向玩家延迟显示的提示。采用本地化关键字。
以下属性很少或从不使用:
- textureFile - 从不使用。
可用的 format 值:
- left
- centre
- right
buttonType
按钮元素用于向界面添加按钮。按钮由图像和文本组成,因此它们的操作方式与 iconType 和 instantTextBoxType 类似。
使用以下属性:
- name - 按钮名称。
- position - 按钮名称。
- orientation - 设置位置属性的方向原点。
- spriteType - 用于按钮的图像。引用 spriteType 定义。
- quadTextureSprite - 用于按钮的图像。引用动态的 spriteType 定义(如旗帜)或多帧的 spriteType 定义。
- frame - 使用多帧图像时要用于按钮的帧。
- alwaystransparent - 强制按钮透明,如点击只能一个元素后面的另一个元素。
- buttonText - 按钮显示的文本。
- buttonFont - 用于文本的字体。
- shortcut - 为此按钮添加的快捷方式。
- clicksound - 点击时要播放的声音。
- oversound - 悬停时要播放的声音。
- hint_tag - 设置鼠标悬停在按钮上方时用于显示提示的关键字。
- pdx_tooltip - 设置要向玩家显示的提示。采用本地化关键字。
- pdx_tooltip_delayed - 设置要向玩家延迟显示的提示。采用本地化关键字。
- scale - 缩放按钮大小。
以下属性很少或从不使用:
- tooltip - 从未使用过。
- tooltipText - 从未使用过。
- delayedTooltipText - 从未使用过。
smoothListboxType
平滑列表框元素用于定义列表框,该列表框是用条目填充的可滚动列表。 通常,这些元素在内部与另一个容器链接,来构成列表框中使用的实际条目。
使用以下属性:
- name - 列表框名称。
- position - 列表框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- size - 列表框的边界框。
- spacing - 列表框条目的间距。
- horizontal - 列表框是水平 (1) 还是垂直 (0)。
- scrollbartype - 用于列表框的滚动条。
- bordersize - 列表框边框的边界框。
- alwaystransparent - 强制列表框透明,如点击只能一个元素后面的另一个元素。
以下属性很少或从不使用:
- background - 从不使用。
listboxType
列表框元素用于定义列表框,列表框是用条目填充的可滚动列表。通常,这些元素在内部与另一个容器链接,该容器构成列表框中使用的实际条目。
使用以下属性:
- name - 列表框名称。
- position - 列表框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- size - 列表框的边界框。
- spacing - 列表框条目的间距。
- horizontal - 列表框是水平 (1) 还是垂直 (0)。
- scrollbartype - 用于列表框的滚动条。
- bordersize - 列表框边框的边界框。
- alwaystransparent - 强制列表框透明,如点击只能一个元素后面的另一个元素。
以下属性很少或从不使用:
- background - 从未使用过。
checkboxType
复选框元素用于向界面添加复选框。复选框的实际效果在内部( internal )定义。
使用以下属性:
- name - 复选框名称。
- position - 复选框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- spriteType - 用于复选框的图像。引用 spriteType 定义。
- quadTextureSprite - 用于复选框的图像。 引用动态的 spriteType 定义(例如旗帜)或多帧的 spriteType 定义。
- frame - 使用多帧图像时要用于图标的帧。
- alwaystransparent - 强制复选框透明,如点击只能一个元素后面的另一个元素。
- buttonText - 复选框显示的文本。
- buttonFont - 用于文本的字体。
- shortcut - 要为此复选框添加的快捷方式。
- clicksound - 点击时要使用的声音。
- hint_tag - 设置鼠标悬停在复选框上方时用于显示提示的关键字。
- pdx_tooltip - 设置要向玩家显示的提示。
- pdx_tooltip_delayed - 设置要向玩家延迟显示的提示。
- scale - 缩放复选框大小。
以下属性很少或从不使用:
- tooltip - 从未使用过。
- tooltipText - 从未使用过。
- delayedTooltipText - 从未使用过。
editBoxType
编辑文本框元素用于将可编辑的文本框添加到界面。
使用以下属性:
- name - 文本框名称。
- position - 文本框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- text - 文本框显示的文本。
- font - 用于文本的字体。
- maxWidth - 显示文本的总宽度,以像素为单位。
- maxHeight - 显示文本的总高度,以像素为单位。
- format - 文本的对齐方式。
- fixedsize - 文本框是否截断超出其边框的文本。
- borderSize - 文本框边框的边界框。
- alwaystransparent - 强制文本框透明,如点击只能一个元素后面的另一个元素。
- ignore_tab_navigation - 使元素忽略选项卡导航。
可用的 format 值:
- left
- centre
- right
OverlappingElementsBoxType
重叠元素框元素用于定义一种特殊类型的列表框,该列表框在其内部动态重叠子元素。
使用以下属性:
- name - 列表框名称。
- position - 列表框的屏幕位置。
- orientation - 设置位置属性的方向原点。
- size - 列表框的边界框。
- spacing - 列表框条目的间距。
- horizontal - 列表框是水平 (1) 还是垂直 (0)。
- bordersize - 列表框边框的边界框。
- alwaystransparent - 强制列表框透明,如点击只能一个元素后面的另一个元素。
以下属性很少或从不使用:
- textureFile - 从不使用。
位置与方向原点
了解位置坐标如何工作对于正确编辑界面非常重要。
元素(或容器)使用的 orientation 属性会通知您元素的锚点所在位置。例如,UPPER_LEFT 表示位于屏幕的左上角的 (0, 0) 位置,而 LOWER_RIGHT 是右下角。
然后,position 属性从此锚点位置工作。因此,如果您希望元素位于屏幕的另一侧,则需要先更改 orientation。
使用这个系统是因为它允许界面适应不同的分辨率。因为所有的位置都与一个特定的原点相联系,这个原点是根据玩家的屏幕分辨率动态计算的,所以容器和元素的位置保持稳定。
所以,如果你想确保你的界面编辑是稳定的,你必须正确使用 orientation 属性。
一个错误的做法是只编辑 position , 例如 position = { x = 1800 y = 200 }
。这在拥有1800以上像素的显示器(如1900 x 1200 以上)中能正常工作,但在更小的显示器上就看不到了。
可用的 orientation 值 (大小写不敏感):
- CENTER
- UPPER_LEFT
- LOWER_LEFT
- UPPER_RIGHT
- LOWER_RIGHT
字体
参考: Font Modding
在《钢铁雄心IV》中可用的字体如下:
- Arial12
- Arial12_bold
- cg_16b
- cg_18b
- garamond_12
- garamond_14
- garamond_14_bold
- garamond_16
- garamond_16_bold
- garamond_24
- hoi_16mbs
- hoi_16tooltip3
- hoi_16typewriter
- hoi_18
- hoi_18b
- hoi_18mbs
- hoi_20b
- hoi_20bs
- hoi_22tech
- hoi_22typewriter
- hoi_24header
- hoi_26mbs
- hoi_30header
- hoi_33
- hoi_36header
- hoi4_typewriter16
- hoi4_typewriter22
- hoi_mapfont4
- hoi_arrow_font
- newsfeed_body
- newsfeed_title
- standard
- standard_18
- standard_22
- tahoma_20_bold
- vic_18
- vic_18_grey
- vic_18s
- vic_22
- vic_22_bl
- vic_22s
- vic_36
- vic_36s
文档 | 效果 • 条件 • 定义 • 修正 • 修正列表 • 作用域 • 本地化 • 行动 • Data structures (Flags, Event targets, Country tag aliases, Variables, Arrays) |
编写脚本 | AI • AI focuses • Autonomous states • Balances of power • 剧本 • 建筑 • Characters and traits • Cosmetic tags • 国家 • 师 • 决议 • 装备 • 事件 • 内阁/民族精神 • 意识形态 • 国策 • 资源 • Scripted GUI • 科技 • 单位 |
地图 | 地图 • 地区 • 补给区域 • 战略区域 |
图形图像 | 界面 • 图形资产 • 实体 • 后特效 • 离子效果 • 字体 |
装饰性 | 肖像 • 命名列表 • 音乐 • 音效 |
其他 | 控制台指令 • 故障排除 • 模组结构 • 成就代码分析 |