zoukankan      html  css  js  c++  java
  • cocos2d-x于android在call to OpenGL ES API with no current context

    一、问题:

           正在使用JNI离Java(Android)侧 打回来C++(Cocos2d-x)该函数返回消息。Cocos2d-x花掉了

           看看 Eclipse的Log中。显示 有 call to OpenGL ES API with no current context (logged once per thread) 的错误


    二、解决方式:

             经过查找资料了解到这个问题是由于Android在启动cocos2d-x的Thread时,没实用context的主的Thread,而是使用的OpenGL的Thread。

           所以我们不能在主Thread去完毕 本应该是在cocos2dx中OpenGL Thread中 完毕的工作(即所调用的函数在Cocos2dx中做的工作)
          必须使用OpenGL的Thread去完毕︰

         Java(Android)側-Cocos2dxActivity.java   

         应该在Cocos2dxActivty的这个Activity用runOnGLThread去完毕相应的工作

         public static native void nativeCallback(String code, String params);
         public static void runNativeCallback(final String code, final String params)
         {
               Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
                   @Override
                   public void run() {
                    nativeCallback(code, params);
                   }
               });
          }

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4889977.html
Copyright © 2011-2022 走看看