美文网首页
Cocos Creator 让OpenGL View变透明

Cocos Creator 让OpenGL View变透明

作者: 老北京程序员 | 来源:发表于2020-05-26 20:33 被阅读0次

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

    相关文章

      网友评论

          本文标题:Cocos Creator 让OpenGL View变透明

          本文链接:https://www.haomeiwen.com/subject/fvfbahtx.html