是否有键盘快捷键可以在Play模式下的Unity中最大化游戏窗口?

时间:2019-01-30 00:23:34

标签: c# unity3d

在编辑模式下,

Ctrl + Space 可使大多数窗口在unity 2018中最大化。在玩游戏时,是否有键盘快捷键可最大化游戏窗口?

在文档中找不到任何内容。

谢谢

7 个答案:

答案 0 :(得分:8)

您可以自己实现它。

    void Update()
    {
#if UNITY_EDITOR
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            UnityEditor.EditorWindow.focusedWindow.maximized = !UnityEditor.EditorWindow.focusedWindow.maximized;
        }   
#endif
    }

答案 1 :(得分:5)

创建了一个脚本来执行不需要附加到游戏对象的工作:

using UnityEditor;
using UnityEngine;

[InitializeOnLoad]
static class FullscreenShortcut
{
    static FullscreenShortcut()
    {
        EditorApplication.update += Update;
    }

    static void Update()
    {
#if UNITY_EDITOR
        if (EditorApplication.isPlaying && ShouldToggleMaximize())
        {
            EditorWindow.focusedWindow.maximized = !EditorWindow.focusedWindow.maximized;
        }
#endif
    }

    private static bool ShouldToggleMaximize()
    {
        return Input.GetKey(KeyCode.Space) && Input.GetKey(KeyCode.LeftShift);
    }
}

答案 2 :(得分:0)

我认为,如果停靠了窗户,则可以最大化窗户,对于浮动窗户,它将不起作用。但是您可以尝试( Shift + Space )或 Alt + Enter

希望它对您有所帮助,并祝您愉快。

答案 3 :(得分:0)

基于@Ethan Fischer的回答,我创建了以下脚本,该脚本利用了新的输入系统并添加了附加条件。

在播放模式下,编辑器仍对所有编辑器窗口(游戏视图除外)接受SHIFT + SPACE输入。该脚本使用Reflection来获取GameView的类型,并将其与当前聚焦的窗口进行比较(我观察到这种奇怪的行为,而没有进行此项检查)

using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;

[InitializeOnLoad]
public class MaximizeWhilePlaymode {

#if UNITY_EDITOR

    private static InputEditor input;
    private static float shift;

    static MaximizeWhilePlaymode() {
        input = new InputEditor();
        input.Editor.Enable();
        input.Editor.LeftShift.performed += ctx => shift = ctx.ReadValue<float>();
        input.Editor.Space.performed += ctx => Work(ctx.ReadValue<float>());
    }


    private static void Work(float space) {
        if(Application.isPlaying && shift > 0.5f && space > 0.5f) {
            Assembly assembly = typeof(EditorWindow).Assembly;
            Type type = assembly.GetType("UnityEditor.GameView");

            if(EditorWindow.focusedWindow.GetType() == type) {
                EditorWindow.focusedWindow.maximized = !EditorWindow.focusedWindow.maximized;
            }
        }
    }
#endif

}

答案 4 :(得分:0)

不是快捷方式,但您可以在游戏模式下点击右上角的小菜单按钮(然后切换最大化选项)切换最大/正常大小。

答案 5 :(得分:-1)

在游戏场景“最大化播放”上单击此按钮一次,您无需再使用快捷键,因为它会重复出现直到您将其关闭为止。如果您仍然迫切需要它,则只需单击屏幕并使用(Shift + space),因为它用于最大化您当前正在天气游戏屏幕或任何层次结构部分使用的任何窗口。

答案 6 :(得分:-1)

如果游戏已经制作完成,请尝试按Alt + Enter。

相关问题