在java的2d sidescroller移动的背景

时间:2014-01-18 16:06:40

标签: java scope side-scroller

我一直在关注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

显然这不起作用,任何人都可以建议一种方法来实现这一目标吗?如果需要,我可以提供更多信息。

0 个答案:

没有答案