最近有个很奇怪也很正常的需求,使用cocos2dx做的游戏,希望发布PC版本,所以去网上搜了一下,大部分是14 15年,cocos2.x版本,需要自己去实现,且文件名,路径多已弃用或变更,于是查了一下源码,发现cocos已经实现了全屏,文件位于
项目名\frameworks\cocos2d-x\cocos\platform\desktop\CCGLViewImpl-desktop.cpp
底层使用glfw3实现,那么如果要更改,就很简单了,直接去查glfw3的api就行了,api在这里
http://www.glfw.org/docs/latest/window_guide.html
cocos实现了全屏方法为setFullscreen,底层调用glfwSetWindowMonitor接口,对应的窗口模式方法为setWindowed
但是这两个接口在lua层是没有实现的,但是父类GLView已经导出到lua,所以,我在父类增加了这两个虚函数setFullscreen, setWindowed,并修改CCGLViewImpl-desktop.cpp中的这两个实现为虚函数重写,然后导出到lua,
最后,在里面里面直接使用cc.Director:getInstance():getOpenGLView():setFullscreen() 使窗口全屏
使用cc.Director:getInstance():getOpenGLView():setWindowed(964, 640) 使游戏窗口并设置大小.