0

我用自己的基于opengles 2.0的游戏引擎制作了一个android游戏,现在由于某种原因,它必须使用Cocos2d-x的渲染与我的渲染结合。也就是说,先用 cocos2d-x 画一些东西,然后再用我的引擎画别的东西。所以我应该将 cocos2d-x 3.0 与我自己的游戏引擎混合在一起。

因为 Cocos2d-x 3.0 和 android 之间的中间层是 NativeActivity,所以首先要做的就是在 cocos2d-x 和我的 java Activity 之间架起一座桥梁。通过参考cocos2d-x 1.0,我完成了工作。

现在,我已经实现了Cocos2dxActivity、Cocos2dxGLSurfaceView、Cocos2dxRenderer等。并使用 Cocos2dxActivity 作为我的主要活动,使用 Cocos2dxRenderer 进行渲染。Cocos2dxRenderer 中 onDrawFrame(GL10 arg0) 的实现是:

public void onDrawFrame(GL10 arg0) {
    ......
    Cocos2dxRenderer.nativeRender();
    ......
    myRender();
    ......
}

但结果是错误的。Cocos2dxRenderer.nativeRender() 独立执行时,可以正确渲染。不知道原因,有什么建议吗?

4

0 回答 0