Java управляет анимацией - как сделать их плавными и эффективными

StackOverflow https://stackoverflow.com/questions/2999172

Вопрос

Я программирую некоторые пользовательские элементы управления в Java и использую анимацию для переходов/затуханий/движений.

Я это делаю, так это то, что я начинаю новую ветку и внося корректировки в переменные, а все срегулировано с помощью paint() метод

Пример:

Теперь, мой вопрос, скажем, например, что я реализовал затухание. Я бы сделал, это увеличение переменной альфа byte x //between 0-255 и нарисуйте прямоугольник, где alphaLevel += x, например (в псевдокоде):

byte increment = 40;

for (byte i = 0; i < 255; i += increment)
{
    _parentClass.setAlphaLevel (i);
    _parentClass.repaint();
    Thread.sleep (10);    
}

_parentClass.setAlphaLevel (255);

Что я хочу знать, так это то, что самое низкое, и каково самое высокое, на что я должен установить сон, чтобы анимация не выглядела изменчивой? Есть ли что -то, что есть с частотой обновления целевого устройства или чем -то еще с человеческими глазами? Тот же вопрос снова с шагом. Есть ли веб -сайт, который даст мне хорошие цифры, которые я могу скопировать.

Причина, по которой я спрашиваю, состоит в том, чтобы максимизировать эффективность, поскольку она будет запускать на устройстве с аккумулятором, так что больше времени ЦП = меньше аккумуляторов. На что бы вы это установили?

Спасибо.

Это было полезно?

Решение

Техника, которую вы ищете, называется «двойная буферизация».

Я с сожалением у меня нет времени, чтобы показать вам пример, но это то, что вам нужно изучить.

Другие советы

Я бы лично предложил расследовать Библиотека анимации Trident, даже если вы используете его в мобильном контексте (как кажется из того, что вы есть), библиотека, кажется, составляет всего около 100 тыс..

Я не уверен, насколько хорошо это подходит для вашей ситуации, однако стоит попробовать.

И в придирчивой точке ... byte DataType в Java не подписан, поэтому его диапазон на самом деле составляет от -128 до 127.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top