移动球

时间:2015-01-18 13:56:56

标签: java greenfoot

我一直在玩我的代码试图让我的程序中的球移动,但具体的情况是一个球迷宫游戏,我必须这样做,所以球一次移动1平方,直到我达到最后的目标块,但球不能离开迷宫。

所以我想知道我需要更改/添加以下代码才能使我的球能够在左,右,上,下方向上一次移动一个空格,并使用以下代码:

public void key(){
        int leftChange=0;
        int rightChange=0; 
        int upChange=0; 
        int downChange=0; 
        if (Greenfoot.isKeyDown("left")){
            if (canMove(leftChange, 0)==true)
            setLocation(getX()+leftChange, getY()) ;
        }
        if (Greenfoot.isKeyDown("right")){
           if (canMove(rightChange, 0)==true)
            setLocation(getX()+rightChange, getY()) ; 
        }
        if (Greenfoot.isKeyDown("up")){
            if (canMove(0, upChange)==true)
            setLocation(getX(), getY()+upChange) ;
        }
        if (Greenfoot.isKeyDown("down")){
            if (canMove(0, downChange)==true)
            setLocation(getX(), getY()+downChange) ;
        }
    }

我非常感谢你的帮助^ _ ^。

1 个答案:

答案 0 :(得分:0)

如果你想让球一次移动一个空间,你需要弄清楚世界的高度和宽度,并从那里找到一个细胞的大小。然后,从您想要开始的单元格开始,添加或减去x或y以移动到下一个单元格。