Помогите разобраться с трехмерным массивом

Есть функция, у которой параметр трехмерный массив:

public void setAnimatedView(int[][][] viewFrames){
    ...
  }

Имеется четыре двумерных массива:

public static final int[][] KILL_PLAYER_ANIMATION_FIRST = new int[][]{
            {4, 4, 4, 4, 4},
            {4, 4, 4, 4, 4},
            {4, 4, 4, 4, 4}
    };

    public static final int[][] KILL_PLAYER_ANIMATION_SECOND = new int[][]{
            {4, 0, 4, 0, 4},
            {0, 4, 0, 4, 0},
            {4, 0, 4, 0, 4}
    };

    public static final int[][] KILL_PLAYER_ANIMATION_THIRD = new int[][]{
            {0, 4, 0, 4, 0},
            {4, 0, 4, 0, 4},
            {0, 4, 0, 4, 0}
    };

    public static final int[][] DEAD_PLAYER = new int[][]{
            {0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0}
    };

Вот вызов этой функции:

super.setAnimatedView({
              {ShapeMatrix.KILL_PLAYER_ANIMATION_FIRST},
              {ShapeMatrix.KILL_PLAYER_ANIMATION_SECOND},
              {ShapeMatrix.KILL_PLAYER_ANIMATION_THIRD},
              {ShapeMatrix.DEAD_PLAYER}});

Компилятор не разрешает так делать: "Array initializer is not allowed here" Что не так?


Ответы (1 шт):

Автор решения: talex

Корректный код:

super.setAnimatedView(new int[][][]{
              ShapeMatrix.KILL_PLAYER_ANIMATION_FIRST,
              ShapeMatrix.KILL_PLAYER_ANIMATION_SECOND,
              ShapeMatrix.KILL_PLAYER_ANIMATION_THIRD,
              ShapeMatrix.DEAD_PLAYER});
→ Ссылка