我一直在关注java中的2d侧卷轴教程并且已经掌握了基础知识,我改变了一些代码以使得瓷砖和背景总是在移动,这就像我想要的那样工作。相关代码如下:
在角色类中:
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);
}
在tile类中:
speedX = bg.getSpeedX() * 3;
tileX = tileX + speedX - 4;
我想要一种方法来做到这一点,如果角色向左移动,瓷砖+背景移动得更慢。我遇到了变量范围和setter / getters的问题。在主游戏类中,我有代码:
case
KeyEvent.VK_LEFT:
character.moveLeft();
character.setMovingLeft(true);
break;
如何在tile类中包含一个if语句,用于读取角色是否向左移动(根据主游戏类中的keyPressed事件确定)并相应地调整切片的速度?
我想写下以下内容:
if (setMovingLeft = true){
speedX = bg.getSpeedX() * 3;
tileX = tileX + speedX - 1; << changed from - 4
显然这不起作用,任何人都可以建议一种方法来实现这一目标吗?如果需要,我可以提供更多信息。