libGDX拖放很慢

时间:2014-05-23 18:25:28

标签: java libgdx

我正在制作一个简单的拖放游戏,使用libgdx和box2d。 在桌面上它运行良好,对象的运动流动,但在android(Galaxy SIII)是对象和输入之间的延迟,所以对象不在点,输入创建。

在桌面上,一切正常:

enter image description here

Android上的

,延迟:

enter image description here

代码非常简单,所以我不明白,为什么它不起作用......

Character= new Texture(Gdx.files.internal("Character.jpg"));
cam = new OrthographicCamera();
        cam.setToOrtho(false, 480, 800);

    dx.input.setInputProcessor(this);
    public void render(float delta) {
        // TODO Auto-generated method stub
        Gdx.gl.glClearColor(0.128f,0.128f,0.128f,1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        game.batch.setProjectionMatrix(cam.combined);

        game.batch.begin();
        game.batch.draw(Character, object.x, object.y);

        game.batch.end();
        cam.update();



    @Override
    public boolean touchDragged(int screenX, int screenY, int pointer) {
        // TODO Auto-generated method stub
        Vector3 touchPos = new Vector3();
        touchPos.set(screenX, screenY, 0);
        cam.unproject(touchPos);


        object.x = touchPos.x - 56 / 2;
        object.y=touchPos.y-56/2;


        cam.update();

        return false;
    }

没有libGdx,拖放运动效果更好。但是libGdx对于其他游戏功能是必要的......

任何人都有建议? 问候

2 个答案:

答案 0 :(得分:1)

我通过在Android启动器中设置config.touchSleepTime = 16;看到了一些改进。

public class AndroidLauncher extends AndroidApplication {
    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
        config.useAccelerometer = false;
        config.useCompass = false;
        config.touchSleepTime = 16;
        initialize(new SomeGame(), config);
    }
}

仍有明显的滞后,但希望这会有所帮助。

答案 1 :(得分:0)

你检查了FPS吗? 它常见于S3限制帧速率。 确保停用所有省电模式以达到60 FPS。