Cocos Creator 让OpenGL View变透明

如果你想要让游戏和下层的元素一起显示,例如在视频或者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


Cocos Creator 让OpenGL View变透明_第1张图片
修改Camera的背景色

————————
想要学习Cocos的同学,欢迎关注我的零基础Cocos教程
https://ke.qq.com/course/313749

你可能感兴趣的:(Cocos Creator 让OpenGL View变透明)