【问题标题】:Can't change button GUIStyle background in EditorWindow无法在 EditorWindow 中更改按钮 GUIStyle 背景
【发布时间】:2020-06-23 13:04:53
【问题描述】:

Unity 版本:2019.4.1f1

我正在尝试更改编辑器窗口中按钮的背景。试图达到正常状态下按下按钮的效果:

void OnGUI() {
     buttonStyleNormal = new GUIStyle(GUI.skin.button);
     buttonStyleToggled = new GUIStyle(GUI.skin.button);
     buttonStyleToggled.active.textColor = Color.blue;
     buttonStyleToggled.normal = buttonStyleToggled.active;
     ...
     GUILayout.Button("Developing", buttonStyleToggled);
     GUILayout.Button("Compilation", buttonStyleNormal);
 }

结果在这里:

即使我明确设置背景,问题仍然存在:

 buttonStyleToggled.normal.background = buttonStyleToggled.active.background;
 buttonStyleToggled.normal.scaledBackgrounds = buttonStyleToggled.active.scaledBackgrounds;

【问题讨论】:

    标签: unity3d user-interface unity-editor unity3d-editor


    【解决方案1】:

    我没有看到你在哪里设置按钮的活动状态的纹理或颜色。

    Color activeButtonColor = new Color(0.3f, 0.3f, 0.3f, 1.0f);
    
    buttonStyleToggled.active.background = activeButtonColor;
    

    【讨论】:

    • 背景是 Texture2D,而不是颜色。 buttonStyleToggled.active 必须已经在背景字段中包含纹理。在底部代码块中我设置了它: buttonStyleToggled.normal.background = buttonStyleToggled.active.background.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多