3

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

4

1 回答 1

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

干杯。

于 2014-05-09T16:04:45.723 回答