В настоящее время у меня есть сетка прямоугольников на экране. У меня также есть изображение, расположенное в нижней левой ячейке. Я хочу дать изображению массив направлений, и я хочу, чтобы он следовал указаниям по одному. Однако в первом блоке кода все направления выполняются после завершения операции 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)));
}
}
}
'' '