什么是接近Android手机各种屏幕比例的最佳方法?
目前,我使用EXACT_FIT,它强制(拉伸)应用程序到目标屏幕。但是,如何动态地将内容重新调整为屏幕比例,因此内容在视觉上保持相同的比例。
答案 0 :(得分:2)
如果要动态调整大小和位置元素,则必须获得实际的屏幕分辨率,然后根据某些“基本”分辨率值计算调整大小比率。
您可以使用
获取屏幕尺寸 lib.current.stageWidth
lib.current.stageHeight
请记住,要使这些值起作用,您必须在项目配置文件的android上将窗口尺寸设置为0。
答案 1 :(得分:2)
要获得正确且真实的WINDOW大小,请使用:
Lib.application.window.width
Lib.application.window.height
它并不总是与此相同:
Lib.current.stage.width
Lib.current.stage.height
答案 2 :(得分:0)
我建议您通过反复试验找到最适合所有屏幕的尺寸。一旦你发现这个屏幕尺寸,你的游戏边框就会比大多数玩家看到的更远。然后,这将允许您填充每个屏幕并保持纵横比,同时还删除边缘周围的任何尴尬空白区域。执行此操作后,您应该能够缩放屏幕以适应屏幕的高度或宽度(这可以保持纵横比)并且没有任何缩放问题。
答案 3 :(得分:0)
我建议您定义内容的位置和位置。尺寸为屏幕宽度和高度的百分比。在伪haxe代码中(我现在正在学习Haxe / HaxeFlixel;)):
class Registry {
...
static var SCREEN_WIDTH;
static var SCREEN_HEIGHT;
...
static var X_UI_HUD_TITLE = 0.15;
static var Y_UI_HUD_TITLE = 0.05;
}
...
class HUD {
var title:FlxText;
public function new() {
title = new FlxText();
title.x = Registry.SCREEN_WIDTH * Registry.X_UI_HUD_TITLE;
title.y = Registry.SCREEN_HEIGHT * Registry.Y_UI_HUD_TITLE;
}
}
这样,SCREEN_WIDTH
和SCREEN_HEIGHT
可能会发生变化,但title
文字将处于相同的明显位置。