zoukankan      html  css  js  c++  java
  • Cocos2dx Android 启动页的设置

      cocos2dx android上的启动页的设置实际都差不多,在网上看了一些资料,很多人都是重新弄了一个Activity作为启动页,这样子是没问题,但是在cocos2dx android上中间会有一个很长得黑屏时间,这主要是在加载一些资源;启动页的还有一种做法是直接在主页面上写,实现请参考

    Android应用启动界面的实现方法

      这篇博客个人感觉还是写的不错的,好了现在实现cocos2dx android上的启动页方法实现如下:

      我采用的cocos2dx 3.2的版本。

      在AppActivity里添加相应的代码

    private static Activity mAct = null;
        private static Handler mUIHandler = null;
        private static ImageView imageView=null;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            
               mUIHandler = new Handler();    
               addContentView(createLogoImg(), new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));//添加启动页
                    
        }
    public ImageView createLogoImg() {
             imageView = new ImageView(this);           
             imageView.setImageResource(R.drawable.splash);
    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
    // 设置当前图像的图像(position为当前图像列表的位置)
          imageView.setRotation(90); return imageView; 
    }

    启动页添加了,那肯定需要移出

     public static void removeImgView() {
             mUIHandler.post(new Runnable() {/imageView是在UI程,即主线程里,所以我们只能通过子线程发送消息给主线程去跟新UI
                   @Override
                   public void run() {
                       if (imageView!=null) {
                            imageView.setVisibility(View.GONE);
                        }
                   }
               });
         }

    我们肯定需要在资源加载完之后移出,移出就需要使用jni在c++里调用java方法:

    void CCSetImageVisibleFalse(){//因为在打包的时候使用到了AnySdk,所以本人就直接导入anySdk的包,没有特意导入jni相关的包
        PluginJniMethodInfo t;
        if(PluginJniHelper::getStaticMethodInfo(t,"org/cocos2dx/cpp/AppActivity", "removeImgView", "()V")){
            t.env->CallStaticVoidMethod(t.classID, t.methodID);
            t.env->DeleteLocalRef(t.classID);
        }
    }

    这段代码就是直接写在c++类里,想在哪里移出ImageView就直接调用此方法

      

      

  • 相关阅读:
    如果你的领导是力量型,你在汇报工作时应该注意()。
    项目管理的10项原则
    扑克k,你知道的人物吗?
    搭建属于您自己的软件版本控制
    Android保持屏幕常亮的方法
    BMP图像数据格式详解
    Android终止线程的方法
    使用ContentProvider访问其他应用的SharedPreferences数据
    android gps定位LocationManager
    Android属性之build.prop生成过程分析
  • 原文地址:https://www.cnblogs.com/jita/p/4040334.html
Copyright © 2011-2022 走看看