暗黑破坏神2重制版Mod制作学习之主菜单修改

3 阅读1分钟

主菜单配置文件

位置:Data\global\ui\layouts\mainmenubuttonribbonhd.json

说明

主菜单画面所有部件位于该文件children数组,每个部件为该数组一个对象,所有type值为ButtonWidget的就是按钮对象。

{
    "type": "ButtonWidget", "name": "Settings",
    "fields": {
        "rect": { "x": 165, "y": 1100 },
        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
        "textString": "@OptionsHD",
        "onClickMessage": "PanelManager:OpenPanel:SettingsPanel",
        "textColor": "$LightButtonTextColor",
        "text/style": "$StyleFEButtonText",
        "hoveredFrame": 3,
        "disabledFrame": 2,
    }
},

增加或减少按钮只需要增加或者删除类似对象,name值相同的会覆盖

字段说明
rect坐标
filename背景文件名
textString按钮文字,@开头为从预制文件获取
onClickMessage按钮动作,内置api
textColor文字颜色
text/style文字样式
hoveredFrame焦点动画帧
disabledFrame默认动画帧

以下为左侧增加难度选择后的代码,可直接置于该数组末尾,无需删除原代码

               {
                    "type": "ButtonWidget", "name": "Normal",
                    "fields": {
                        "rect": { "x": 165, "y": 540 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strCreateGameNormalText",
                        "onClickMessage": "CharacterSelect:LoadCharacter:0",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },
                {
                    "type": "ButtonWidget", "name": "Nightmare",
                    "fields": {
                        "rect": { "x": 165, "y": 680 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strCreateGameNightmareText",
                        "onClickMessage": "CharacterSelect:LoadCharacter:1",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },                {
                    "type": "ButtonWidget", "name": "Hell",
                    "fields": {
                        "rect": { "x": 165, "y": 820 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strCreateGameHellText",
                        "onClickMessage": "CharacterSelect:LoadCharacter:2",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },
                {
                    "type": "ButtonWidget", "name": "Settings",
                    "fields": {
                        "rect": { "x": 165, "y": 1100 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@OptionsHD",
                        "onClickMessage": "PanelManager:OpenPanel:SettingsPanel",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },
                {
                    "type": "ButtonWidget", "name": "Cinematics",
                    "fields": {
                        "rect": { "x": 165, "y": 1240 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strGameCinematics",
                        "onClickMessage": "FrontEndNavigation:ToCinematics",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },
                {
                    "type": "ButtonWidget", "name": "Credits",
                    "fields": {
                        "rect": { "x": 165, "y": 1380 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strGameCredits",
                        "onClickMessage": "PanelManager:OpenPanel:CreditsModal",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },
                {
                    "type": "ButtonWidget", "name": "Exit",
                    "fields": {
                        "rect": { "x": 165, "y": 1520 },
                        "filename": "FrontEnd\\HD\\Final\\FrontEnd_ButtonMed",
                        "textString": "@strexitentiregame",
                        "onClickMessage": "FrontEndNavigation:ToExit",
                        "textColor": "$LightButtonTextColor",
                        "text/style": "$StyleFEButtonText",
                        "hoveredFrame": 3,
                        "disabledFrame": 2,
                    }
                },