当我启动Cocos2dxActivity并在一段时间内显示另一个活动(第三方sdk活动或自定义活动)时,cocos2dxActivity开始闪烁。当其他活动显示完成时,cocos2dxActivity将恢复正常。
public class MyActivity extends Cocos2dxActivity {
public static void showSDKLogin() {
sdkMgr.showLogin();
}
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
static {
System.loadLibrary("game");
}
}
在sdkMgr.showLogin()
函数中,它会启动一个新活动来显示一些对话框。我在cocos2dx c ++代码中通过jni调用它。
如何解决闪烁问题?
ps:抱歉我的英语不好。我希望你们知道我的意思;)
答案 0 :(得分:3)
关于Android上的闪烁是解决方案 - https://github.com/cocos2d/cocos2d-x/pull/5320
你应该更新文件“Cocos2dxGLSurfaceView.java”并更新“onPause”和“onResume”
@Override
public void onResume() {
super.onResume();
this.setRenderMode(RENDERMODE_CONTINUOUSLY);
this.queueEvent(new Runnable() {
@Override
public void run() {
Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleOnResume();
}
});
}
@Override
public void onPause() {
this.queueEvent(new Runnable() {
@Override
public void run() {
Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleOnPause();
}
});
this.setRenderMode(RENDERMODE_WHEN_DIRTY);
// super.onPause();
}
干杯。