2017-01-09 1 views
0

なぜ、このSprite.drawはスプライトをレンダリングしませんが、Batch.renderとSpriteBatch.renderはどうしてですか?

player.sprite.draw(batch); 

は私のスプライトをレンダリングしませんが、

batch.draw(player.sprite.getTexture(), 0,0); 

はないでしょうか?

public void render(float deltaTime) { 
    if (assets.assetManager.update()) { 
     loading = false; 
     player = new Cat(assets.assetManager.get("textures/Cat.png", Texture.class)); 
     player.sprite.setPosition(0,0); 
    } 
    else 
    { 
     timeLoading += deltaTime; 
     System.out.println("Progress: " + assets.assetManager.getProgress() * 100); 
    } 

    if (!loading) 
    { 
     rayHandler.updateAndRender(); 
     Gdx.gl.glClearColor(0.37f, 0.73f, 0.84f, 1f); 
     Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);       Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
     processUserInput(); 
     player.update(deltaTime); 

     orthogonalTiledMapRenderer.setView(orthographicCamera); 
     orthogonalTiledMapRenderer.render(); 

     batch.begin(); 
     if (debug) 
      renderDebugInfo(); 
     player.sprite.draw(batch); 
     batch.draw(player.sprite.getTexture(), 0,0); 
     batch.end(); 

     batch.setProjectionMatrix(orthographicCamera.projection); 
     rayHandler.setCombinedMatrix(orthographicCamera); 
     orthographicCamera.update(); 

     world.step(1, 4, 4); 
    } 
} 

答えて

-1

私はスプライトのコンストラクタを使用し、Sprite.setTextureとテクスチャを設定するが、これは何とか適切なスプライトを初期化しませんでしたいませんでした:

は私の完全な方法でレンダリングします。今すぐコンストラクタを使用してレンダリングすることができます

+2

空のコンストラクタのスプライトのドキュメントでは、描画する前に領域を設定する必要があると言われています。単にテクスチャを設定しても領域が設定されるわけではありません。 – Tenfour04

関連する問題