2d Sidescroller движущийся фон в Java
Я следовал руководству по 2-й стороне скроллера в Java и получил основы работы, я немного изменил код, чтобы сделать так, чтобы плитки и фон всегда двигались, это работало, как я и планировал. Соответствующий код ниже:
Внутри класса персонажа:
if (speedX < 0) {
centerX += speedX;
}
if (speedX == 0 || speedX < 0) {
bg1.setSpeedX(0);
bg2.setSpeedX(0);
}
if (centerX <= 350 && speedX > 0) {
centerX = centerX + speedX ;
}
if (speedX > 0 && centerX > 350) {
bg1.setSpeedX(-MOVESPEED / 4);
bg2.setSpeedX(-MOVESPEED / 4);
}
Внутри класса плитки:
speedX = bg.getSpeedX() * 3;
tileX = tileX + speedX - 4;
Я хотел сделать так, чтобы, если персонаж двигался влево, плитки + фон двигались медленнее. У меня проблемы с областью действия переменной и сеттерами / получателями. В основном игровом классе у меня есть код:
case
KeyEvent.VK_LEFT:
character.moveLeft();
character.setMovingLeft(true);
break;
Как я могу включить оператор if в класс плиток, который считывает, движется ли персонаж влево (определяется по событию keyPressed в классе основной игры) и соответствующим образом регулирует скорость плиток?
Я хочу написать что-то с эффектом:
if (setMovingLeft = true){
speedX = bg.getSpeedX() * 3;
tileX = tileX + speedX - 1; << changed from - 4
Очевидно, что это не работает, кто-нибудь может предложить способ сделать это? Я могу предоставить больше информации, если это необходимо.