Форум программистов, компьютерный форум CyberForum.ru

Вращение изображения - Android

Восстановить пароль Регистрация
 
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 14
30.11.2014, 19:35     Вращение изображения #1
Пишу небольшую игру. Там космический кораблик летает в космосе.
Есть изображение корабля в png файле. Выводить на canvas я его научился.

Java
1
2
Bitmap image = BitmapFactory.decodeResource(game.gameView.activity.getResources(), R.drawable.ship);
canvas.drawBitmap(image, x, y, paint);
Теперь мне нужно научить кораблик поворачиваться вокруг своей оси. Не могу понять как осуществить вращение изображения? Все примеры из интернета выглядят как то так:

Java
1
2
3
Matrix matrix = new Matrix();
matrix.setRotate(angle, imageCenterX, imageCenterY);
yourCanvas.drawBitmap(yourBitmap, matrix, null);
Но Android Studio говорит что класс Matrix() is deprecated, других примеров в интернете я не нашёл.
Что делать?

Добавлено через 24 минуты
Всё научился!

Java
1
2
3
canvas.rotate(rotateAngle, x + shipWidth / 2, y + shipHeight / 2);
canvas.drawBitmap(image, x, y, paint);
canvas.restore();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2014, 19:35     Вращение изображения
Посмотрите здесь:

Android Увеличение изображения в ImageView
Изображения в прокрутке (ScrolView) Android
Android Загрузка изображения
Android Увеличение изображения
Увеличение изображения Android
Android Вращение барабана слот машины
Android Загрузка изображения
Android Вывод случайного изображения
Открытие изображения с масштабированием Android
Загрузка изображения в imageview Android
ImageView вращение Android
LibGDX вращение текстуры Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
01.12.2014, 00:13     Вращение изображения #2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public final Matrix transform = new Matrix();
 
public void rotate() {
          transform.preRotate(1, bmp.getWidth() / 2, bmp.getHeight() / 2);
    }
    
    /**Рисуем наши спрайты*/
    public void onDraw(Canvas canvas, float x, float y) {
        rotate();
        this.x = x;
        this.y = y;
        
        canvas.save();
        canvas.translate(x, y);
        canvas.drawBitmap(bmp, transform, null);
        canvas.restore();
    }
Вот исходники моей игры https://github.com/dajver/Squance-fl...dy/Player.java, в этом файле я вращаю квадрат - главного героя игры (: Можешь скачать все исходники и посмотреть в целом все.
Yandex
Объявления
01.12.2014, 00:13     Вращение изображения
Ответ Создать тему
Опции темы

Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru