Прошу совета по следующей проблеме. Я разрабатываю небольшую игру, и у меня есть файл *.png для фона. Мне нужно поставить его на фон основного экрана игры. Более того, он должен быть в 2 раза больше по ширине и в 1,5 раза по высоте от размеров экрана, потому что мои объекты "перелетают" через эти границы. Кроме того, экран перемещается по этому фону в игровом процессе. Но я немного застрял в том, как это сделать.
Я хочу, чтобы мой фон выглядел одинаково на всех экранах с разными размерами и плотностью. Я пробовал некоторые решения, но они мне не нравятся, или я сделал что-то не так:
Сделайте разные фоновые изображения и поместите их в специальные папки. Звучит хорошо, но с количеством разрешений Android-устройств на рынке это звучит не очень хорошо. Это просто увеличит размер *.apk. И если я буду использовать методы для установки фона, это растянет изображение - я думаю, это не очень хорошая идея.
В методе
onDraw()
нарисуйте изображение на холсте. Я должен поместить его верхний левый угол в самый верхний левый угол возможной игровой области и нарисовать его. Но вот несколько вариантов:- cut from the main image the image i want and draw only this piece (what I use now)
- изменить размер изображения, которое у меня есть, и рисовать с этими изменениями
- что-то другое...
Итак, вопрос: как лучше всего нарисовать фон для игрового экрана, когда нужно, чтобы он был почти в два раза больше размера экрана, чтобы он выглядел одинаково на всех устройствах и перемещал экран во время игры?