Cocos2dx Android 启动页的设置

本文介绍在Cocos2dx Android项目中实现启动页的方法。通过在AppActivity中添加启动页,并利用JNI技术在资源加载完成后移除启动页,有效避免了黑屏现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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就直接调用此方法

 

 

  

 

  

转载于:https://www.cnblogs.com/jita/p/4040334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值