android - 根据 libgdx 中的屏幕尺寸设置 actor 尺寸

标签 android libgdx

我正在 android 中使用 libgdx 开发一个简单的游戏。我创造了一个 Actor 。我想根据屏幕尺寸调整 Actor 的大小。谁能给我推荐一个简单的教程来做同样的事情

最佳答案

好吧,这取决于您如何设置舞台的视口(viewport)。

假设您的舞台视口(viewport)在您的 resize() 方法中设置为 stage.setViewport(16,10,false)。 这样,您的屏幕将始终显示从左下角的 (0,0) 到右上角的 (16,10) 的区域...

如果您创建一个宽度为 8 且高度为 5 的 Actor,它将始终是屏幕宽度的一半和屏幕高度的一半。

当然,上面的示例在调整大小时通常会扭曲屏幕...因此您可以使用 setViewport(16,10,true); 这样,您将保持宽高比,但可能需要在 resize() 方法中调整或重新定位某些角色,例如当它们显示在屏幕的右边缘时。

另一种方法是将视口(viewport)设置为与屏幕上的像素相同的坐标系:stage.setViewport(width,height,false);(在 resize(...) -方法)。这样,舞台坐标系中的一个单位等于屏幕上的一个像素。

这样做时,您必须在设置视口(viewport)后在 resize() 方法中调整角色的大小:

actor.setSize(0.2f*stage.getWidth(), 0.2f*stage.getWidth() * actor.getHeight()/actor.getWidth()):

这样做总是会使 actor 恰好是屏幕宽度的五分之一,并且高度匹配,因此不会变形。

希望这对您有所帮助...

关于android - 根据 libgdx 中的屏幕尺寸设置 actor 尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22810102/

相关文章:

android - 这段代码为什么不能在onCreate之后填充ListView?

android - 如果设备语言是阿拉伯语,布局会发生变化

java - 适合视口(viewport)黑条

android - 高 Assets 加载时间

android - 暂停/恢复时 libgdx 出现 ANR 错误

android - GraphRequest (Android Facebook SDK) 中缺少位置数据

android - FragmentActivity 无法通过 ActivityInstrumentationTestCase2 进行测试

android - 使用JavaCV在Android上录制视频(2014年02月17日更新)

android - 通过不在每次渲染调用上绘制来节省电池

java - 无法使用 libGDX 设置 android 项目