为cocos引擎增加原生f11全屏支持
Cocos 的全屏api:
screen.requestFullScreen()
目前只支持web端,如果打包原生 win mac linux 就没法全屏。
这里介绍一个不太正规,但简单好操作的办法(适用于3.8以及跟3.8差别不大的版本,估计能支持到3.6,但是没有测试不太确定)。
- 在vs资源管理器中搜索文件:SDLHelper.cpp
- 在文件中搜索 SDL_KEYDOWN 找到行:case SDL_KEYDOWN: {
- 在该 case 的 break 之前添加以下代码:
#if CC_PLATFORM == CC_PLATFORM_WINDOWS || CC_PLATFORM == CC_PLATFORM_MACOS || CC_PLATFORM == CC_PLATFORM_LINUX
if (SDLK_F11 == event.keysym.sym) {
SDL_SetWindowFullscreen(window ,
(SDL_GetWindowFlags(window) & SDL_WINDOW_FULLSCREEN_DESKTOP)
?0: SDL_WINDOW_FULLSCREEN_DESKTOP);
}
#endif
- 在资源管理器中该文件上右键->编译
然后运行就可以测试效果了。
ps:只测试了win11,其他应该问题不大,移动端是不支持的。