将 cocos2dx 背景 设置 成 透明 的方法

将 cocos2dx 背景 设置 成 透明 的方法,第1张

概述下面 为 从 网络上 搜索到的 将 cocos2dx 背景 设置成 透明的 方法, android 层,自己 亲测 OK, 但是  需要 将 glSurfaceView.setZOrderOnTop(true); 这句话 注释掉。否则 会有 问题。 android 层 还有 一个 貌似 可行的 方法(没测过):http://www.voidcn.com/article/p-nxjbzgdk-wo.

下面 为 从 网络上 搜索到的 将 cocos2dx 背景 设置成 透明的 方法,

androID 层,自己 亲测 OK,但是 需要 将glSurfaceVIEw.setZOrderOntop(true); 这句话 注释掉。否则 会有 问题。

androID 层 还有 一个 貌似 可行的 方法(没测过):http://www.jb51.cc/article/p-nxjbzgdk-wo.html

至于 ios 端,自己 没测试,博友 可以 参考一下。


androID层:

public Cocos2dxGLSurfaceVIEw onCreateVIEw() {
Cocos2dxGLSurfaceVIEw glSurfaceVIEw = new Cocos2dxGLSurfaceVIEw(this);
// hello should create stencil buffer
//glSurfaceVIEw.setEGLConfigChooser(5,6,5,16,8);//modify

glSurfaceVIEw.setEGLConfigChooser(8,8,0);
//glSurfaceVIEw.setZOrderOntop(true);
glSurfaceVIEw.getHolder().setFormat(PixelFormat.TRANSLUCENT);
return glSurfaceVIEw;
}
C++层:
voID CCDirector::setGLDefaultValues(voID)
{
// This method SHOulD be called only after openGLVIEw_ was initialized
CCAssert(m_pobOpenGLVIEw,"opengl vIEw should not be null");

setAlphaBlending(true);
// XXX: Fix me,should enable/disable depth test according the depth format as cocos2d-iphone dID
// [self setDepthTest: vIEw_.depthFormat];
setDepthTest(false);
setProjection(m_eProjection);
// set other opengl default values
//glClearcolor(0.0f,0.0f,1.0f);//modify
glClearcolor(0.0f,0.0f);

即可实现透明效果


补充IOS 上可以参考这个方法变成透明背景:
http://blog.sina.com.cn/s/blog_6957e2e50101bxf1.html

要点是首先pixelFormat:kEAGLcolorFormatRGBA8,必须有Alpha层才能透明。
然后vIEw设置为透明

glVIEw.opaque = NO;
[director setopenGLVIEw:glVIEw];
[self.vIEwController.vIEw setBackgroundcolor:[UIcolor clearcolor]];
[self.vIEwController.vIEw addSubvIEw:glVIEw];
在3.3 版本下,我是在项目内搜索glClearcolor,把CCDirector.cpp里的默认背景色设置,改为透明。不同版本处理略有差异

参考网址:http://www.cocoachina.com/bbs/read.php?tid-156363-page-2.html

总结

以上是内存溢出为你收集整理的将 cocos2dx 背景 设置 成 透明 的方法全部内容,希望文章能够帮你解决将 cocos2dx 背景 设置 成 透明 的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存