Как естественная часть написания игры для Android в реальном времени, мне потребуется поддержка различных разрешений экрана, плотности и т. Д.
Из основной статьи я знаю, что в документации по Android SDK я должен создать отдельный ресурс для каждого растрового изображения в моей игре, чтобы обеспечить различную плотность экрана;но я не совсем понимаю, что делать с позициями, скоростями и т. д.
В документе говорится, что я должен использовать независимые от плотности единицы в моем коде везде, где я использую явные значения.Но не значит ли это, что мне нужно будет преобразовывать абсолютные пиксели в независимые от плотности единицы измерения каждый раз, когда я использую явное значение?
Например, я разрабатываю игру (впейзаж) с использованием дисплея высокой плотности 800x480.Теперь мне удобно перемещать спрайт со скоростью 1 пиксель на кадр ( после дельта-времени и т. Д.).Таким образом, это выглядело бы так:
sprite.setVelocityX(1);
Если бы я использовал независимые от плотности единицы, как предполагает документация, не пришлось бы мне делать что-то подобное везде , которое я используюявное число?
sprite.setVelocityX(convert(1));
public float convert(float value)
{
return value * getResources().getDisplayMetrics().density;
}
Такое чувство, что я не правильно понимаю ...