2017-07-11 21 views
0

ここで私は、負荷テクスチャだとtextureregionとTiledDrawableインスタンスを作る:libgdxでtiledDrawableをスケールする方法は?

textures = new Texture(Gdx.files.internal("somefile.png")); 
bg_grass_region = new TextureRegion(textures, 631, 175, 116, 662); 
bg_grass_tiled = new TiledDrawable(bg_grass_sprite); 

と私はこのようにそれを描くScreenインスタンスのrenderメソッド内:

batch.begin(); 
bg_grass_tiled.draw(batch, 0, 0, bg_grass_sprite.getWidth(), bg_grass_sprite.getHeight()*3); 
batch.end(); 

問題はbg_grass_regionTextureRegionインスタンスであるということですそれは合理的にスケールされません...

私は1つの簡単な質問があります:bg_grass_tiledまたはbg_grass_regionオブジェクト?

+0

TiledDrawablesの他の描画方法を使用している可能性がありますか?ドロー(バッチバッチ、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数) –

答えて

0

TiledDrawableは、領域を塗りつぶす代わりに、TextureRegionを繰り返し描画します。 TransformDrawableによって実装されていますが、スケーリングと回転はサポートされていません。

ので、あなたがTiledDrawableの方法の下に使用することはできません、それはあなたがTextureRegionSpriteBatchのdrawメソッドを使用していないのはなぜUnsupportedOperationException

draw (Batch batch, float x, float y, float originX, float originY, float width, float height, float scaleX,float scaleY, float rotation) 

をスローします。

draw (TextureRegion region, float x, float y, float originX, float originY, float width, float height,float scaleX, float scaleY, float rotation); 
関連する問題