Всем привет, я делаю игру в качестве опыта и у меня возникла потребность максимально оптимально произвести поворот спрайта. Я знаю как нарисовать отдельный спрайт: canvas.drawBitmap(bitmap, srcRect, destRect, paint)
, где srcRect
— это часть изображения на экране, destRect
— это та область экрана где будет произведена печать спрайта, а поворот я знаю что можно осуществить с помощью matrix
(canvas.drawBitmap(bitmap, matrix, paint)
) используя свойство translate
, то куда нужно производить печать и rotate
— собственно сам поворот.
Так вот, мне необходимо повернуть отдельный спрайт и соответственно вывести его, но сделать это максимально оптимально, я предполагаю что можно создавать битмапу задавая эти параметры, но будет ли это быстро и оптимально по памяти, я думаю нет, есть ли решения этой проблемы?
Создавать новый битмап при каждой отрисовке спрайта - однозначно не хорошо.
Если нужен динамичный поворот на произвольный угол, то лучше использовать матрицу:
// сохраняем настройки канваса
canvas.save();
// задаём его матрице поворот по центру нужной области
// degress - угол в градусах
canvas.rotate(degress, destRect.exactCenterX(), destRect.exactCenterY());
canvas.drawBitmap(bitmap, srcRect, destRect, paint);
// восстанавливаем настройки
canvas.restore();
Если состояний у объекта по пальцам пересчитать, то возможно лучше заготовить спрайт на все состояния.
Тут палка о двух концах - либо больше вычислений, либо больше расход памяти.
Что для Вашего случая критичнее, то и оптимизируйте.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Почему после последней фигурной скобки есть эта ошибка:missing return statement Весь код:
При старте Activity(в методе onCreate) отправляется запрос на сервер, с которого приходит количество элементов-фрагментов для ViewPagerViewPagerAdapter Требует...
Давайте представим, что есть некий метод, который принимает скажем 3 параметра
Чтобы упростить понимание моего вопроса, я максимально упрощу ситуациюУ меня есть проекы Hotel и Configurator