我正在 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/