Это мой первый вопрос, и я постараюсь сделать его максимально понятным. Пожалуйста, прости меня, если кто-то задавал подобный вопрос раньше (я проверял, но ничего не нашел).
Я пытаюсь создать свое первое android приложение в java. Это небольшая игра с персонажем в левой части экрана (ландшафтный режим) и фоном, который идет справа налево, создавая впечатление движения. Скорость фона должна быть постоянной. Я использовал класс Background, который выглядит следующим образом:
public class Background {
int x=0, y=0;
Bitmap background;
Background(int screenX, int screenY, Resources res){
background = BitmapFactory.decodeResource(res, R.drawable.background);
background = Bitmap.createScaledBitmap(background, screenX, screenY, false);
}
}
, затем в классе GameView я создаю 2 фоновых объекта
private Background background1, background2;
и в конструкторе:
background1 = new Background(screenX, screenY, getResources());
background2 = new Background(screenX, screenY, getResources());
//both backgrounds are the same picture
background2.x = screenX;
paint= new Paint();
наконец-то:
private void update(){
background1.x -=2 * screenRatioX;
background2.x -=2 * screenRatioX;
//both have the same speed
if (background1.x + background1.background.getWidth()<0){
background1.x = screenX;
// to make it reappear on the right side when it vanishes on the left side
}
if (background2.x + background2.background.getWidth()<0){
background2.x = screenX;
}
}
Надеюсь, это понятно и кто-то сможет мне помочь.