Android(安卓)游戏引擎libgdx 自适应分辨率
16lz
2021-01-25
Android的碎片化始终受到开发者们的抱怨(ios如今也出现了相同的问题),各种分辨率,各种屏幕大小给开发测试带来了很大的困难。尤其是个人开发者,由于精力有限,
根本没法每个机型都测试一遍。刚开始使用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(); } ...... }
更多相关文章
- 自定义View最详细的资料整理与总结
- Android(安卓)API Guides---Hardware Acceleration
- Android(安卓)API Guides---Linear Layout
- Android(安卓)res下三个drawable文件夹的用途
- Android内存监测工具DDMS->Heap,内存分析工具->MAT
- android view框架总结
- ListView和Adapter的基础知识
- android 自定义视图控件开发
- Android实现文章+评论(MVP,RxJava,Dagger2,ButterKnife)