Вращающаяся карта Tilebit в зависимости от ее направления

#java #android

Вопрос:

Как я могу повернуть карту Tilebit в зависимости от ее направления, учитывая приведенный ниже код ? Как я могу этого достичь ?

 public TileGraphics(int x, int y, InputStream is) {
        this.x = x;
        this.y = y;

        if(this.currentDirection == Direction.LEFT)
        tileBitmap = Bitmap.createScaledBitmap(BitmapFactory.decodeStream(), (int)tileSize, (int)tileSize, true);

        if (is != null) {
            tileBitmap = Bitmap.createScaledBitmap(BitmapFactory.decodeStream(is), (int) tileSize, (int) tileSize, true); // boolean statement at the end good for bilinear filtering
        }

        if (is != null amp;amp; this.currentDirection == Direction.LEFT) {
            Matrix matrix = new Matrix();
            matrix.preScale(-1.0f, 1.0f);
            tileBitmap = Bitmap.createBitmap(tileBitmap, 0, 0, tileBitmap.getWidth(), tileBitmap.getHeight(), matrix, true);
        }
    }
 

Есть ли что-нибудь правильное в приведенном выше коде ? Или есть другие полезные ссылки для решения этого вопроса ?

Моя идея заключается в том,что я могу повернуть карту Tilebit в зависимости от направления,в котором она движется,и изменить изображение вправо, влево, вверх, вниз.

Ответ №1:

 // EDIT: added forgotten if statement
if (this.currentDirection == Direction.IDLE) {
        Matrix matrix = new Matrix();
        matrix.preScale(-1.0f, 1.0f);
        tileBitmap = Bitmap.createBitmap(tileBitmap, 0, 0, tileBitmap.getWidth(), 
        tileBitmap.getHeight(), matrix, true)
}
 

Этот код работал для изменения направления изображения при работе с потоками.