Переменные, которые вы определяете внутри функции, имеют только в области действия внутри этой функции.Когда функция заканчивается, эти переменные выходят из области видимости и больше не существуют.В следующий раз, когда вы запустите функцию, вы заново создадите переменные с тем же значением, поэтому вы не видите никакого движения.
Я также немного озадачен тем, что вы пытаетесь сделать: почемуу вас есть переменные xPos
и yPos
, а также переменные xM
и yM
?Для чего вы собираетесь использовать каждый?Если вы хотите показать несколько движущихся кругов, я думаю, вы, вероятно, можете избавиться от xPos
и yPos
и использовать только массивы.
Кроме того, этот цикл for
не делает то, чтовы ожидали:
for(int x:xM){
xM[x] = xPos;
xPos += xInt;
}
Здесь вы перебираете значения в xM
, но затем используете их в качестве индексов.Вы, вероятно, просто хотите сделать это:
for(int i = 0; i < xM.length; i++){
xM[i] += xInt;
}
Обратите внимание, что я избавился от переменной xPos
, потому что я не думаю, что она вам нужна.Та же проблема возникает и во втором цикле for
.
Я предлагаю вам сделать шаг назад и начать с чего-то более простого.Используйте массивы, которые содержат одно значение, а затем обрабатывайте его так же, как любую другую переменную, использующую индекс 0
, например, xM[0] += xInt
.Получите это работает на один круг в первую очередь.Затем добавьте второй круг и попробуйте добавить петли for
.Работайте вперёд небольшими шагами вместо того, чтобы пытаться взять всё на себя сразу.Удачи.