适配原理
目前各个游戏引擎的实例对应一个UI节点,此节点包含了插件的所有UI。UI节点的宽高固定设计为1280X720或者720X1280(横屏与竖屏),然后根据游戏“窗口”的大小,将节点进行缩放适配。UI内的节点则以上面的固定宽高标准
进行定位和大小设置。
目前四个引擎适配的参考“窗口”对象为:
- cocos-creator:
cc.Canvas.instance
- cocos2d-js:
cc.visibleRect
- egret:
egret.Stage
,这里以插件节点的stage属性指向的Stage实例为准。 - laya:
Laya.Stage
横竖屏的判断
插件分横竖屏两种UI样式,插件根据“窗口”的宽高判断当前是横屏还是竖屏,如宽大于高则为竖屏,反之为横屏。
适配要求
为了确保插件节点能正常适配,需要注意以下几点:
- 确保UI节点的父节点的锚点在游戏屏幕正中央,因为目前四个游戏引擎都是以父节点的锚点进行定位的。
- 确保UI节点的上层节点(父节点、父父节点等)没有进行缩放、变形等变换,如果无法避免,请自行对插件的UI节点
进行反变换来调整。
如果UI显示适配不正常,可以检查是否满足上面的适配条件。