如果你想要让游戏和下层的元素一起显示,例如在视频或者Web上面显示游戏层,那么我们需要让GLView变透明才行
Android
@Override
public Cocos2dxGLSurfaceView onCreateView() {
Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
// TestCpp should create stencil buffer
// glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 8); //修改GLSurfaceView参数,其中第四个参数为AlphaSize,这样修改以后View就变透明了
glSurfaceView.getHolder().setFormat(PixelFormat.RGBA_8888);
SDKWrapper.getInstance().setGLSurfaceView(glSurfaceView, this);
return glSurfaceView;
}
iOS
void Application::onCreateView(PixelFormat& pixelformat, DepthFormat& depthFormat, int& multisamplingCount)
{
// pixelformat = PixelFormat::RGB565;
pixelformat = PixelFormat::RGBA8; //给View本身增加透明通道
depthFormat = DepthFormat::DEPTH24_STENCIL8;
multisamplingCount = 0;
}
项目里注意,这里只是修改了View本身,支持透明通道,但是如果渲染的时候背景色不透明,那还是没用,所以我们需要在游戏里修改Camera的默认背景色,把Alpha改成0
修改Camera的背景色
————————
想要学习Cocos的同学,欢迎关注我的零基础Cocos教程
https://ke.qq.com/course/313749
网友评论