[图片上传中。。。(1)]本文以通过 cocos2dx 搭建的项目为例(因为目前通过xcode新建的项目都自动配置了启动图,而通过 cocos2dx 新建就没有,游戏研发里最常见),可以看到新建工程目录中默认是没有 xcassets
文件和 LaunchScreen.storyboard
文件的
如果没有进行启动图的设置,在项目中通过
[UIScreen mainScreen].bounds
获取设备屏幕尺寸是不准确的,好像始终是 320x480px,至于具体会出现什么异常情况就不进行介绍,相信遇到这个问题的人自然就明白,我这边是做SDK开发,SDK里面通过UIWindow自定义了弹窗并通过
[UIScreen mainScreen].bounds
的值对弹窗进行屏幕的适配,下面是我这里遇到的情况
如图:
SDK接入游戏之前的正常情况(测试设备:iPhone 6s):
SDK接入游戏后的异常情况(测试设备:iPhone 6s):
明显这个弹出窗口是不一样了
或者
读者可以自行新建一个 Single View Application 工程,然后把里面的 LaunchScreen.storyboard 文件删除掉,然后启动工程看看有什么情况。
那么,下面主要是介绍解决办法:
- 首先在
Resources
目录下新建一个LaunchScreen.storyboard
文件
然后你会看到下面这样
-
把 view 里面的两个控件(Label 和 gameDemo)删掉,然后拖进一个 UIImageView,并添加约束
-
然后设置你的启动图片,无论你的工程是支持什么方向,这里都以 Portrait 方向来设置,图片也是 Portrait 方向的,如果你的工程只支持横屏,在启动的时候图片会自动进行旋转
注意:这里的 Content Mode 是图片填充模式,请根据你的需求进行设置
-
配置 Launch Screen File,选择你刚新建好的storyboard文件
-
然后检查一下storyboard文件是否勾选如下选项 Use as Launch Screen,没有的就勾上
到这里,你可以编译并运行工程,启动图(做游戏研发的一般称为闪屏图)已经设置好。