Android 游戏引擎libgdx 自适应分辨率

  Android的碎片化始终受到开发者们的抱怨(ios如今也出现了相同的问题),各种分辨率,各种屏幕大小给开发测试带来了很大的困难。尤其是个人开发者,由于精力有限,

根本没法每个机型都测试一遍。刚开始使用libgdx,我针对各个分辨率都设定了一套坐标,那个痛苦啊。。。后来发现libgdx本身可以自适应分辨率,太傻叉了自己。

  虽然可以自适应分辨率,但是是通过伸缩调整的,所以有些分辨率下画面会显得走形,但比起一个个去调整就将就了吧。我一般使用的游戏框架为

libgdx 框架图

看一下stage的构造方法

public Stage(float width,float height,boolean stretch)

  width 视图的宽

  height 视图的高

  stretch 是否拉伸视图至真实分辨率

 

我一般选择800x480作为基准分辨率

 

public class MyGame extends Game {

    MyScreen screen = null;



    @Override

    public void create() {

        //初始化界面,设定标准分辨率大小

        screen = new MyScreen(800, 480);

        setScreen(screen);

    }

}

 

所有的stage都以基准分辨率进行设计和排版

public class MyScreen implements Screen {

    private MyStage stage = null;



    public MyScreen(int baseW, int baseH) {

        //true 为自适应分辨率

        stage = new MyStage(baseW, baseH, true);

    }



    @Override

    public void render(float arg0) {

        stage.draw();

    }

    

        ......  

}

 

安卓游戏 口袋连连看

你可能感兴趣的:(android)