java - Libgdx 将位图字体对齐到屏幕右上角

标签 java android libgdx

因此,由于我似乎无法将字体放入表格中并将其扩展到顶部和右侧,所以我想知道在屏幕右上角绘制字体的解决方案是什么。

我正在尝试这个:

highScoreFont.draw(batch, "" + getHighScore, Gdx.graphics.getWidth() - 1070, Gdx.graphics.getHeight() - 650);

当我在分辨率为 1920x1080 的 Xperia Z1 上测试时,它完美对齐。但是当我在 800x400 的 Nexus S 上测试它时,对齐完全错误,字体自行绘制在屏幕的左下角部分。

有什么解决办法吗?

最佳答案

使用scene2d,您可以将BitmapFont与Tables一起使用,您只需要使用Label,而不是直接使用BitmapFont。

BitmapFont font = ...;
Label label = new Label(new LabelStyle(font, Color.WHITE));
Table table = new Table();
table.add(label).expand().top().right();

这是首选,因为场景会根据您的设备调整大小,您不必担心设备的屏幕尺寸。

使用 Gdx.graphics.getWidth() 返回设备的宽度,而不一定是视口(viewport)的宽度,因此使用该值定位元素将导致设备间的不一致。硬编码位置通常变得非常难以维护,但如果您想走这条路,我建议您根据视口(viewport)大小而不是从 Gdx.graphics 返回的值来研究定位元素。

关于java - Libgdx 将位图字体对齐到屏幕右上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37076175/

相关文章:

android - 减少android中视频和音频文件大小的最佳方法?

java - Libgdx 在屏幕中使用 InputMultiplexer 覆盖 keyDown

java - Dijkstra 算法使用邻接矩阵问题

java - 创建包含 HyperLinkistener 和 MouseAdapter 的父类(super class)

Google 服务的 Android 版本冲突

android - 将位图保存到 SD 卡而不在 android 中压缩它

java - libgdx actor touch处理问题

java - 访问 Box2D 灯光转换的光线

java - 在 Java 中加密和解密 List<String>

Certificate Authority 不在 JRE 时的 Java SSL 连接解决方​​案