cocos2dx背景透明处理
来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:次
以最新的Cocos2d-x 3.2 release为例,介绍如何在Cocos2d-x中让程序背景透明。
一样,先上图。
修改的东西不多。主要有3步。
1.在AndroidManifest.xml中设置Activity背景透明
?vcmRlcj0="0" cellpadding="0" cellspacing="0">
如图,
2.在libcocos2dx项目的org.cocos2dx.lib项目中的Cocos2dxActivity.java文件中,修改init()方法。
增加如下代码:
?
删除如下代码(如果不删除的话,顶部会有一个Cocos2dxEditText的白条,Cocos2dxEditText封装了EditText,主要用于TextField,如果程序中有使用到它,那建议更换为EditBox)
?
如图,
3.在libcocos2dx项目的org.cocos2dx.lib项目中的Cocos2dxRenderer.java文件中,修改onSurfaceCreated()方法。
增加如下代码:
?
一样,先上图。
修改的东西不多。主要有3步。
1.在AndroidManifest.xml中设置Activity背景透明
?
1 |
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
|
如图,
2.在libcocos2dx项目的org.cocos2dx.lib项目中的Cocos2dxActivity.java文件中,修改init()方法。
增加如下代码:
?
1 2 3 |
this .mGLSurfaceView.setZOrderOnTop( true );
this .mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
this .mGLSurfaceView.setEGLConfigChooser( 8 , 8 , 8 , 8 , 16 , 0 );
|
删除如下代码(如果不删除的话,顶部会有一个Cocos2dxEditText的白条,Cocos2dxEditText封装了EditText,主要用于TextField,如果程序中有使用到它,那建议更换为EditBox)
?
1 2 |
//mFrameLayout.addView(edittext);
//this.mGLSurfaceView.setCocos2dxEditText(edittext);
|
如图,
3.在libcocos2dx项目的org.cocos2dx.lib项目中的Cocos2dxRenderer.java文件中,修改onSurfaceCreated()方法。
增加如下代码:
?
1 2 3 4 5 |
pGL10.glDisable(GL10.GL_DITHER);
pGL10.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,
GL10.GL_FASTEST);
pGL10.glClearColor( 0 ,
0 ,
0 ,
0 );
pGL10.glEnable(GL10.GL_CULL_FACE);
pGL10.glShadeModel(GL10.GL_SMOOTH);
|