Cocos2dxActivity闪烁

时间:2013-09-03 16:16:50

标签: android c++ android-activity cocos2d-x

当我启动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:抱歉我的英语不好。我希望你们知道我的意思;)

1 个答案:

答案 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();
}

干杯。