В настоящее время я делаю игру, у которой есть блоки, и пользователь контролирует их. Я хочу, чтобы иметь возможность обнаруживать, когда блоки перестали двигаться, потому что они приземлились на другом блоке или попали в нижнюю часть, чтобы создать новый блок (например, как Tetris порождает новый кусок каждый раз, когда блок останавливается попадает в нижнюю часть). Как я мог получить 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
}
Это не имеет смысла. Вам не нужно «извлекать» переменные, так как они не являются локальными переменными (т. Е. Вы объявили их в другом месте). –
@ Август, переменные все хранятся вне метода, но когда я распечатываю их значения, они никогда не меняются – AlecR
Затем, пожалуйста, создайте [минимальный тестовый пример] (http://stackoverflow.com/help/mcve), который демонстрирует это , –