Ctrl + 空格键在编辑模式下最大化Unity 2018中的大多数窗口。是否有键盘快捷键可以在玩游戏时最大化游戏窗口?
在文档中找不到任何内容。
您可以自己实现它。
void Update()
{
#if UNITY_EDITOR
if (Input.GetKeyDown(KeyCode.Escape))
{
UnityEditor.EditorWindow.focusedWindow.maximized = !UnityEditor.EditorWindow.focusedWindow.maximized;
}
#endif
}
我认为如果它被停靠,您可以最大化窗口,对于浮动窗口,它将无法工作。 但您可以尝试(Shift + 空格键)或 Alt + Enter。
希望对您有所帮助,度过美好的一天。
创建了一个脚本来执行不需要附加到游戏对象的作业:
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);
}
}
比更新简单一点
static class FullscreenShortcut
{
#if UNITY_EDITOR
[UnityEditor.MenuItem("Window/MaximizeCurrentWindow _F11")]
static void ToggleCurrentWindowMaximized()
{
var window = UnityEditor.EditorWindow.focusedWindow;
if (window == null)
return;
window.maximized = !window.maximized;
}
#endif
}
有关于菜单项的更多信息:https://hugecalf-studios.github.io/unity-lessons/lessons/editor/menuitem/
只需在菜单项文本末尾添加
象征 | 键盘键 |
---|---|
% | 控制/命令 |
# | 转变 |
& | 替代项 |
_ | 没有 |
在游戏场景"最大化播放"上单击此按钮一次,您永远不需要再次使用快捷键,因为它会重复,直到您将其关闭。 如果您仍然需要紧急它,您只需单击屏幕并使用(Shift + 空格),因为它用于最大化您当前正在处理的任何窗口,无论是游戏屏幕还是任何层次结构部分。
根据 Fischer @Ethan 的回答,我创建了以下脚本,该脚本利用新的输入系统并添加了一个额外的条件。
在游戏模式下,编辑器仍接受除游戏视图之外的所有编辑器窗口的 SHIFT+SPACE 输入。此脚本使用反射来获取游戏视图的类型,并将其与当前聚焦的窗口进行比较(我在没有此检查的情况下观察到奇怪的行为)
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
}
如果游戏已经构建,请尝试按 Alt + Enter。
不是快捷方式,但是当您单击右上角的小菜单按钮(然后切换最大化选项)时,您可以在游戏模式下切换最大/正常大小。