1. 简介
在使用cocos2d-x 3.3rc0时,为了避免启动黑屏,增加了一个SplashScreen Activity,在SplashScreen Activity结束启动AppActivity时,由于AppActivity启动较慢,将导致在Activity切换时,可以看到桌面上的内容,即应用无显示内容。
为解决此问题,在AppActivity的基类Cocos2dxActivity的init时,显示一张背景图片即可。
由于Cocos2dxActivity位于classes.jar中,所以无法通过R.drawable.xxx来访问项目res/drawable中的资源。为解决此问题,通过读取assets目录下的图片来创建一个drawable,然后进行显示。
2. 代码示例
// Create SurfaceView for MediaPlayer
mMediaPlayView = new SurfaceView(this);
// only can compile it with eclipse, cocos run -p android can't compile it
//mMediaPlayView.setBackgroundResource(con.test.myarrow.R.drawable.videostart);
try {
BitmapDrawable drawable = new BitmapDrawable(BitmapFactory.decodeStream(getContext().getAssets().open("videostart.png")));
mMediaPlayView.setBackgroundDrawable(drawable);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mFrameLayout.addView(mMediaPlayView);