簡體   English   中英

精靈在libgdx中堅持使用相機?

[英]Sprite sticks to the camera in libgdx?

我想讓精靈放在屏幕上,然后將攝像機拖到世界各地。 但是當我拖動相機時,精靈會粘在相機上,並且仍然位於屏幕的底部。

tilemap(.tmx文件)和渲染器不會發生這種情況:相機可以拖動tilemap,而tilemap不會粘在相機上。 spriteBatch很難,精靈停留在屏幕的底部。

這是我的代碼:

map = MyLoader.manager.get("data/mMap.tmx");
float unitScale = 1 / 64f;
renderer = new OrthogonalTiledMapRenderer(map, unitScale);

@Override
public void render() {
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    camera.update();
    renderer.setView(camera);
    renderer.render();//tilemap works fine

    //sprite
    //batchMap.setProjectionMatrix(camera.combined);//wrong

    batchMap.begin();
    if ( scrFactoryMap.maps.size() > 0 ) {
        scrFactoryMap.getMap(0).draw(batchMap);//sprite sticks to the camera
    }
    str = "string";
    font.draw(batchMap, str, 50,50);//font sticks to the camera
    batchMap.end();
}


private void slerpCamera(){
    //...
    camera.position.add( camX, camY, 0 );
    camera.update();
}

你為什么評論這個,這是錯誤的

//sprite
//batchMap.setProjectionMatrix(camera.combined);//wrong

無論何時轉換(即移動)相機,都必須將新的ProjectionMatrix設置為SpriteBatch。

取消注釋:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM