我目前正在制作一个游戏,阻止掉落并且用户控制它们。我希望能够检测到块停止移动的时间,因为它们已经落在另一个块上或者击中底部,以便创建一个新的块掉落(就像每次块停止时俄罗斯方块生成一块新块一样)击中底部)。我怎么能从这个方法中检索y,所以我知道块已经停止移动并且在y方向没有速度?
这里是我声明变量和我用来改变它的方法(这会向下移动块):
int y = 0;
int ya = 0;
public void move() {
if(x + xa < game.getWidth() - WIDTH && x + xa > 0 ) {
ya = 2;
}if(y + ya > game.getHeight() - 50) {
ya = 0;
}
y = y + ya;
x = x + xa;
}
代码中的其他地方,我希望能够做到这一点:
// If the block stops moving (The y value in the move method is equal to 0)
if(y == 0) {
//Create new block object to drop, and allow the user to control this new block
}
答案 0 :(得分:1)
你必须在所有方法中声明y变量,最好在定义类声明之后(为了更易读的代码),如果你试图从同一个类中访问y,则第二个方法也必须在同一个类中其他类必须从第一个类创建对象。也许你在运行move方法之前尝试访问y值(有很多可能性) 在这里发布你的课程(代码)然后我可以帮助你更好。