在libgdx中移动具有常量值的actor

时间:2018-04-24 07:14:04

标签: java android libgdx

我试图将演员从左侧移动到右侧 设备屏幕,当它到达右侧时它将消失。该 游戏只在纵向模式下。如果游戏是在720和 1080宽屏幕(假设两个设备具有相同的dpi), 使用后一个设备的用户将有更多时间来看演员。 我想问的问题是如何将我的演员移到右侧 屏幕并在所有屏幕尺寸(720,1080,1280或其他)上同时消失。该游戏仅针对Android。以下是我正在测试移动我的演员的代码,

@Override
public void act(float delta) {
    super.act(delta);
    setX(getX() + 1);
}

1 个答案:

答案 0 :(得分:0)

所以,我认为我的"虚拟"屏幕是MAP_WIDTH x MAP_HEIGHT,我喜欢每个屏幕的所有图纸都在这些尺寸中。然后我就像这样设置相机变焦:

public final float MAP_WIDTH = 1440;
public final float MAP_HEIGHT = 2960;

private void setCamera(){
    screenWidth =Gdx.graphics.getWidth();
    screenHeight = Gdx.graphics.getHeight();


    camera.setToOrtho(false, screenWidth, screenHeight);

    float zoomW = MAP_WIDTH / screenWidth;
    float zoomH = MAP_HEIGHT / screenHeight;
    camera.zoom = (zoomW < zoomH)?zoomW:zoomH;
    camera.position.x = MAP_WIDTH/2;
    camera.position.y = MAP_HEIGHT/2;
    camera.update();
    batch.setProjectionMatrix(camera.combined);
}

所以不管我的真实屏幕分辨率是什么&#34;虚拟&#34;屏幕将显示良好(&#34;全屏&#34;)。那就是......如果纵横比相同,它将填充真实屏幕100%,如果不是......某些部分将被剪掉,但我倾向于不将重要的屏幕部分保留在屏幕边界。

我在所有游戏中都做到了这一点并且工作正常,即在最新的游戏中:https://play.google.com/store/apps/details?id=com.mgsoft.reversi