Android Studio: Как сделать обновление изображения в пределах oop? - PullRequest
0 голосов
/ 09 марта 2020

В настоящее время у меня есть сетка прямоугольников на экране. У меня также есть изображение, расположенное в нижней левой ячейке. Я хочу дать изображению массив направлений, и я хочу, чтобы он следовал указаниям по одному. Однако в первом блоке кода все направления выполняются после завершения операции l oop. Он не показывает путь, по которому он идет - только окончательная позиция. '' '

@Override
public void onClick(View view) {
  int [] arr =  new int[5];
  arr[0] = UP;
  arr[1] = RIGHT;
  arr[2] = RIGHT;
  arr[3] = LEFT;
  arr[4] = UP;
  for(int i = 0; i < arr.length; i++) {
    if (arr[i] == RIGHT) {
      image.setX(image.getX() + (Maze.width / Maze.ROW));
    }
    if (arr[i] == LEFT) {
      image.setX(image.getX() - (Maze.width / Maze.ROW));
    }
    if (arr[i] == UP) {
      image.setY((image.getY() - (Maze.height / Maze.COL)));
    }
    if (arr[i] == DOWN) {
      image.setY((image.getY() + (Maze.height / Maze.COL)));
    }
  }
}

' ''

Я также хочу, чтобы изображение использовало метод animate () вместо методов setX () и setY (). Однако, когда я использую image.animate (). X () и .y (), изображение даже не перемещается в правильных направлениях.

'' '

@Override
public void onClick(View view) {
  int [] arr =  new int[5];
  arr[0] = UP;
  arr[1] = RIGHT;
  arr[2] = RIGHT;
  arr[3] = LEFT;
  arr[4] = UP;
  for(int i = 0; i < arr.length; i++) {
    if (arr[i] == RIGHT) {
      image.animate().x(image.getX() + (Maze.width / Maze.ROW));
    }
    if (arr[i] == LEFT) {
      image.animate().x(image.getX() - (Maze.width / Maze.ROW));
    }
    if (arr[i] == UP) {
      image.animate().y((image.getY() - (Maze.height / Maze.COL)));
    }
    if (arr[i] == DOWN) {
      image.animate().y((image.getY() + (Maze.height / Maze.COL)));
    }
  }
}

'' '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...