我一直在玩我的代码试图让我的程序中的球移动,但具体的情况是一个球迷宫游戏,我必须这样做,所以球一次移动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) ;
}
}
我非常感谢你的帮助^ _ ^。
答案 0 :(得分:0)
如果你想让球一次移动一个空间,你需要弄清楚世界的高度和宽度,并从那里找到一个细胞的大小。然后,从您想要开始的单元格开始,添加或减去x或y以移动到下一个单元格。