美文网首页cocos2d-LuaCocos2dXcocos2d
cocos2dx-lua的适配和横屏竖屏

cocos2dx-lua的适配和横屏竖屏

作者: 最怕认真 | 来源:发表于2016-05-26 15:28 被阅读1491次
    • 横屏竖屏
      这个是由工程目录下的config.json文件中

      config.json.png
      isLandscape控制的,为true则为横屏,为false是竖屏
      其中 width 和 height 是控制模拟器的大小的
    • 适配
      适配最重要的概念是设计分辨率
      设计分辨率:指的是你的页面设计时采用的分辨率
      选择何种设计分辨率?
      选择哪种分辨率,其实就是说市面上哪种分辨率的机型最多,你就用哪种,比如你的设计分辨率是960x640的,如果所有机器都是这个分辨率,那么显示出来的效果就和你想要的效果是一样的,如果有机型器1136x640,那显然你设计的界面在这种机型上会在长度上不够而出现黑边。

    • 适配的种类
      市面上的机型种类可谓繁多,要想适配每一种机型是不容易的,其中有几种适配方案

      • FIXED_WIDTH
        这个的意思是按照宽度来适配,就是保证宽度完美显示,如果你的设计分辨率是100x200,但是机型的实际分辨率是200x300,那么cocos2dx会将这个界面扩大两倍,也就是按照宽度来缩放,不管高度如何

      • FIXED_HEIGHT
        这个意思和上面刚好相反,按照高度来适配,保证高度完美显示,而不管宽度

      • NO_BORDER
        这个是结合以上两种,保证界面能完整显示在屏幕中,举个例子,如果设计分辨率是100x200,实际分辨率是200x300,首先计算宽度的比例是2,高度的比例是1.5,所以为了保证都能显示,将采用1.5作为缩放比例。这种情况下是会有界面损失的

    • SHOW_ALL
      这个会将整个界面显示出来,它和N0_BORDER的区别在于,这种方式会将界面完整的显示出来,但是会出现黑边

    • ui的适配
      了解了适配的基本原理,在来看看如何适配ui的,如果我要实现这样的效果,在左上角放一个按钮,设计分辨率是960x640,适配类型选择NO_BORDER,那很显然,如果在某种机型上,这个按钮肯定有一部分会处在黑暗中,要想让它正确的显示出来,就要用到相对坐标这个东西了。

    cocostudio.png

    在界面中放一个容器,然后把你要的ui放进去,比如这个按钮,然后设置这个按钮相对父容器的上左位置,来确定它在父容器中的位置,现在不管怎样,这个按钮都会在这个父容器的左上角了,然后再代码中,我们只需要动态的设置这个父容器的大小和屏幕一样大,那这个按钮就一定会显示在左上角了。

    local size = cc.Director:getInstance():getVisibleSize()
    

    获取屏幕大小

    相关文章

      网友评论

        本文标题:cocos2dx-lua的适配和横屏竖屏

        本文链接:https://www.haomeiwen.com/subject/askxdttx.html