diff --git a/src/org/andengine/opengl/texture/region/TiledTextureRegion.java b/src/org/andengine/opengl/texture/region/TiledTextureRegion.java index 38a880c7d..e1945bb8c 100644 --- a/src/org/andengine/opengl/texture/region/TiledTextureRegion.java +++ b/src/org/andengine/opengl/texture/region/TiledTextureRegion.java @@ -64,9 +64,17 @@ public static TiledTextureRegion create(final ITexture pTexture, final int pText for(int tileColumn = 0; tileColumn < pTileColumns; tileColumn++) { for(int tileRow = 0; tileRow < pTileRows; tileRow++) { final int tileIndex = tileRow * pTileColumns + tileColumn; - - final int x = pTextureX + tileColumn * tileWidth; - final int y = pTextureY + tileRow * tileHeight; + + final int x; + final int y; + if (pRotated) { + x = pTextureX + pTextureHeight - (tileRow + 1) * tileHeight; + y = pTextureY + tileColumn * tileWidth; + + } else { + x = pTextureX + tileColumn * tileWidth; + y = pTextureY + tileRow * tileHeight; + } textureRegions[tileIndex] = new TextureRegion(pTexture, x, y, tileWidth, tileHeight, pRotated); } }