cocos2d-js引擎有一系列自带的屏幕适配方案:
1. cc.ResolutionPolicy.SHOW_ALL
等比缩放,留黑适配。这种适配方式在开发过程中难度比较低,因为是固定的宽高比,在开发过程中,游戏界面始终保持一致的屏幕分辨率。例如使用640x960,在开发时不需要其他考虑,只要堆640x960的界面即可。
我们之前的喵斗士就是用这种解决方案,这次航海也还是用这种,主要还是考虑到开发难度的原因。
2. cc.ResolutionPolicy.EXACT_FIT
拉伸适配。我想这种适配一般不会有人使用吧。这种适配会根据屏幕大小进行拉伸,比如你游戏解决方案是640x960,在640x1136手机屏幕下,就硬生生拉成了640x1136,以充满整个屏幕,看EXACT_FIT这个字面意思就知道了。有点不忍直视!
3. cc.ResolutionPolicy.NO_BORDER
剪切适配。在不同的屏幕分辨率下,会保持原始游戏分辨率,超过部分被剪切。
4. cc.ResolutionPolicy.FIXED_HEIGHT
固定高度。充满屏幕高度,高度分辨率固定,宽度自适配。这种解决方案可以完美解决横屏游戏的全屏问题,当然开发难度会上升,因为每个游戏界面的分辨率就不是固定的了,宽度的分辨率是固定的,高度就需要实时获取,而且根据游戏布局变化来适配游戏屏幕。
5. cc.ResolutionPolicy.FIXED_WIDTH
固定宽度。充满屏幕宽度,宽度分辨率固定,高度自适配。这种解决方案可以完美解决竖屏游戏的全屏问题。处理方式类似上面充满高度的方式。
下面看看cocos2d-js屏幕适配怎么设置,很简单,在创建完工程后,打开main.js就能看到:
cc.view.setDesignResolutionSize(480, 720, cc.ResolutionPolicy.SHOW_ALL); // 设置分辨率及适配方式
cc.view.resizeWithBrowserSize(true); // 浏览器变化时进行自动缩放
1. cc.ResolutionPolicy.SHOW_ALL
等比缩放,留黑适配。这种适配方式在开发过程中难度比较低,因为是固定的宽高比,在开发过程中,游戏界面始终保持一致的屏幕分辨率。例如使用640x960,在开发时不需要其他考虑,只要堆640x960的界面即可。
我们之前的喵斗士就是用这种解决方案,这次航海也还是用这种,主要还是考虑到开发难度的原因。
2. cc.ResolutionPolicy.EXACT_FIT
拉伸适配。我想这种适配一般不会有人使用吧。这种适配会根据屏幕大小进行拉伸,比如你游戏解决方案是640x960,在640x1136手机屏幕下,就硬生生拉成了640x1136,以充满整个屏幕,看EXACT_FIT这个字面意思就知道了。有点不忍直视!
3. cc.ResolutionPolicy.NO_BORDER
剪切适配。在不同的屏幕分辨率下,会保持原始游戏分辨率,超过部分被剪切。
4. cc.ResolutionPolicy.FIXED_HEIGHT
固定高度。充满屏幕高度,高度分辨率固定,宽度自适配。这种解决方案可以完美解决横屏游戏的全屏问题,当然开发难度会上升,因为每个游戏界面的分辨率就不是固定的了,宽度的分辨率是固定的,高度就需要实时获取,而且根据游戏布局变化来适配游戏屏幕。
5. cc.ResolutionPolicy.FIXED_WIDTH
固定宽度。充满屏幕宽度,宽度分辨率固定,高度自适配。这种解决方案可以完美解决竖屏游戏的全屏问题。处理方式类似上面充满高度的方式。
下面看看cocos2d-js屏幕适配怎么设置,很简单,在创建完工程后,打开main.js就能看到:
cc.view.setDesignResolutionSize(480, 720, cc.ResolutionPolicy.SHOW_ALL); // 设置分辨率及适配方式
cc.view.resizeWithBrowserSize(true); // 浏览器变化时进行自动缩放