Cocos2d-JS中预设了5种适配模式
1. SHOW_ALL (PROPORTION_TO_FRAME + SHOW_ALL)
SHOW_ALL模式会尽可能按原始宽高比放大游戏世界以适配外框(Frame),同时使得游戏内容全部可见,所以浏览器宽高比不同于游戏宽高比时,窗口中会有一定的留白。留白部分的颜色或背景可以通过设置外框的CSS属性来修改。
2. NO_BORDER (EQUAL_TO_FRAME + NO_BORDER)
NO_BORDER模式会尽可能按原始宽高比放大游戏世界以适配外框,并且保证不留空白。所以浏览器宽高比不同于游戏宽高比时,游戏世界会被部分切割。同时,在这种情况下,cc.visibleRect代表的就是Canvas在游戏世界中的视窗,大小比cc.winSize要小一些。
3. EXACT_FIT (EQUAL_TO_FRAME + EXACT_FIT)
EXACT_FIT模式会忽略原始宽高比放大游戏世界以完全适应外框,所以浏览器宽高比不同于游戏宽高比时,游戏世界会被一定程度拉伸。
FIXED_WIDTH模式会横向放大游戏世界以适应外框的宽度,纵向按原始宽高比放大。结果有两种可能,类似与SHOW_ALL模式的结 果(如 图),或者类于NO_BORDER模式。它与前面两种模式的差别在于,在FIXED_WIDTH模式下游戏世界坐标系等同于Canvas元素坐标系,并且 Canvas元素必然占满整个外框。
注意下与SHOW_ALL模式的区别,此时Canvas大小是整个外框大小,所以可显示内容区域实际上比SHOW_ALL模式更多。
5. FIXED_HEIGHT (EQUAL_TO_FRAME + FIXED_HEIGHT)
与前一个模式相反,FIXED_HEIGHT模式会纵向放大游戏世界以适应外框的高度,横向按原始宽高比放大。结果同上。
在这个模式下,与NO_BORDER模式的区别是此时游戏世界坐标系和大小等同于Canvas坐标系。
浙公网安备 33010602011771号