我熟悉Android中的基本应用程序编程,而不是Android游戏开发的新手。
我正在努力寻找一种方法,为具有不同屏幕尺寸的Android设备提供统一,高性能的游戏体验。在我的研究期间,我偶然发现了以下文章:
Android Developers Blog - Using the Hardware Scaler for Performance and Efficiency
建议将SurfaceView的支架设置为固定大小:
surfaceView = new GLSurfaceView(this);
surfaceView.getHolder().setFixedSize(1280, 720);
这种方法非常方便,因为我不必关心像素密度和不同的屏幕尺寸。
我的问题是本文没有解释如何影响硬件缩放器将曲面适合视图的方式。默认情况下,它只是伸展缓冲区,以便显示整个缓冲区。
我努力的解决方案是拥有某种安全区域,这些安全区域应该始终显示,并且有一些余地可以填补安全区域周围的黑色空隙,就像本文中所解释的那样:
Our solution to handle multiple screen sizes in Android
我怎么能用Android的硬件缩放器实现这样的功能呢?