如何让Scene或Canvas透明

我有个需求:
要有部分界面遮住播放的视频,比如在视频上显示半透明的界面,或者视频边缘有叶子环绕。

发现视频总是只能在最上,看了下Java部分的代码
在Cocos2dxVideoHelper.java 里

注释掉 videoView.setZOrderOnTop(true);
加入mActivity.getGLSurfaceView().setZOrderOnTop(true);//把整体界面放上面
结果是,界面的确放视频上面了,但是视频被黑色背景遮住了

然后去掉了Canvas 自己加了一个空Node把所有其他节点按原来样子挂在下面
还是没用

查了些资料 看了下C/C++部分的 Grabber::beforeRender(Texture2D *texture)
里面glClearColor(0, 0, 0, 0); 应该是透明的。

请问,这个黑色要变成透明应该在哪里搞呢?引擎部门的大神们出来指导下

1赞

由于Java部分我还看到了,那么这个SurfaceView应该是透明的
if (this.mGLContextAttrs[3] > 0)
glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);

感觉还是像clearColor的问题,应该改哪里呢?

今天又试了 cc.director.setClearColor(cc.Color.TRANSPARENT);
还是不行啊…有没有人知道该怎么办

参考了精华帖 貌似还是无效
http://www.cocoachina.com/bbs/read.php?tid=224544

大神们出来救一下

终于搞定了

原来是Cocos2dxActivity.java里的 onCreateView其实没执行
被 AppActivity里重写了,没调用父类onCreateView,
所以我在onCreateView里加的代码没有起作用。
只要把
glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
写到AppActivity里的 onCreateView里就可以了

2赞

请问你的联系 QQ,我这边尝试了网上搜到的所有方案,都不可以,。。。求帮助

mark