#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)
}
Этот код работал для изменения направления изображения при работе с потоками.