zoukankan      html  css  js  c++  java
  • cocos2d-x-3.3Android工程接入sdk时遇到的问题

    新做的cocos2d-x-3.3版本的Android工程,接入付费sdk时,想让游戏开始的时候执行sdk的初始化,可惜打开主AppActivity.java,  没有提供一个方法。

    解决办法:

      可以重写父类Cocos2dxActivity的init()方法;如:

      public void init(){

        super.init();

        //在这里写游戏开始的时候要执行的方法

      }

    接下来想在支付的时候在静态方法中调用的Toast,报错。。。

    解决办法:

      在主Activity的init()方法中初始化一个Handler对象,如:

    public static android.os.Handler dialogHandler = null;
    
        public static AppActivity activity;
    
        public void Init() {
            super.init();
            dialogHandler = new android.os.Handler();
            activity = this;
        }
    
        public static void showToastDialog(final String text) {
            dialogHandler.post(new Runnable() {
                public void run() {
                    Toast.makeText(activity, text, Toast.LENGTH_SHORT).show();
    
                }
            });
        }

    然后在别的地方调用AppActivity.showToastDialog("Toast显示");问题解决。

    接下来又遇到一个问题:当付费成功后,调用static方法给游戏返回支付结果时,出现卡死的状态。。。

    解决办法:

    public static void PayFinish() {
            Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
                public void run() {
                    // 这里调用传入游戏支付结果的static方法
                }
            });
    
        }
    public Class Fruit extends Cocos2dxActivity{
            public static Fruit context;
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                context = this;
            }
            
            public static Fruit getContext() {
                return Fruit.context;
            }
        }

    Fruit类大体就是这样

    接下来调用(建议使用下面的方法):

    // Fruit为当前主Activity
            public static void pay() {
                Fruit.getContext().runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // 在这里写支付调用sdk的接口
                    }
                });
            }
  • 相关阅读:
    一个好用的,个人记事本应用,软件joplin
    aws EKS EFS 上安装mysql Operation notpermitted
    多变量的线性回归
    批量梯度下降BGD、随机梯度下降SGD和小批量梯度下降MBGD对比
    单变量线性回归
    数据库限制内存使用方法
    C# 调用 Excel 宏的方法
    Markdown 使用方法总结
    VBA注意事项
    将CSV文件中的数据导入到SQL Server 数据库中
  • 原文地址:https://www.cnblogs.com/Colored-Mr/p/4256757.html
Copyright © 2011-2022 走看看