让游戏全屏(即让游戏窗口占据整个屏幕)是很多游戏开发中的常见需求。不同的游戏引擎和平台(如 Unity、Unreal、Cocos2d、Godot 等)有不同的实现方式。以下是一些常见平台和引擎的实现方法:
✅ 一、Unity(C#)
✅ 方法 1:使用 SetResolution(Unity 2018+)
using UnityEngine;
public class FullScreen : MonoBehaviour
{
void Start()
{
Screen.fullScreen = true;
Screen.sleepTimeout = 0; // 禁用休眠
Screen.setResolution(1920, 1080, true); // 设置分辨率
}
}
✅ 方法 2:使用 Screen.SetResolution
Screen.SetResolution(1920, 1080, true); // 设置分辨率
Screen.fullScreen = true;
✅ 二、Unreal Engine(C++)
✅ 方法 1:使用 FMinimalRHI 和 FMinimalRHI::SetResolution
FMinimalRHI::SetResolution(1920, 1080, 30);
✅ 方法 2:使用 FEngineLoop::SetResolution
FEngineLoop::SetResolution(1920, 1080, 30);
✅ 三、Godot(GDScript/JavaScript)
✅ 方法 1:使用 show() 和 set_fullscreen(true)
func _ready():
$Window.show()
$Window.set_fullscreen(true)
✅ 四、Cocos2d-x(Objective-C)
✅ 方法 1:使用 CCDirector 设置全屏
CCDirector *director = CCDirectorirector_getDirector();
director.setOpenGLView(YourOpenGLView *);
director.setDisplayStats(false);
director.setAnimationInterval(1.0 / 60.0);
director.setDisplayFPS(false);
director.setFullscreen(true);
✅ 五、Cocos2d-JS(JavaScript)
cc.director.getScene().setFullscreen(true);
✅ 六、其他平台
✅ iOS(Swift)
UIScreen.main.nativeBounds.size.width = 375
UIScreen.main.nativeBounds.size.height = 812
UIScreen.main.nativeScale = 1.0
✅ Android(Java)
Window window = getWindow();
window.setFormat(WindowFormat.LayoutParams.FORMAT_X8_BIT);
window.setGravity(Gravity.FILL_HORIZONTAL | Gravity.FILL_VERTICAL);
window.setWindowAnimations(0);
window.setContentView(yourView);
✅ 总结
| 平台 | 方法 |
|---|---|
| Unity | Screen.fullScreen = true |
| Unreal | FMinimalRHI::SetResolution(...) |
| Godot | set_fullscreen(true) |
| Cocos2d-x | setFullscreen(true) |
| Cocos2d-JS | cc.director.getScene().setFullscreen(true) |
| iOS | UIScreen.main.nativeBounds.size.width = 375 |
| Android | window.setFormat(...) |
如果你有具体的平台或引擎,可以告诉我,我可以提供更详细的代码示例。