要设置成透明需要把三个地方设置透明
第一个activity自带的白色背景
设置activityt的主题
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
第二个GLSurfaceView默认的黑色背景
AppActivity里修改一下
private boolean isTranslucent = true;
@Override
public Cocos2dxGLSurfaceView onCreateView() {
Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
// TestCpp should create stencil buffer
if(isTranslucent){
glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 8);
glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
glSurfaceView.setZOrderOnTop(true);
}else{
glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
}
SDKWrapper.getInstance().setGLSurfaceView(glSurfaceView, this);
return glSurfaceView;
}
可以灵活选择是否需要透明
第三个把camera的background设置成透明 感谢上面渡鸦的回复。刚开始我设置了上面两步怎么都不行。
camera.backgroundColor = cc.color(0, 0, 0, 0);
这个第二步修改了creator的一些默认设置,可能会带来其它的问题。