Я пытаюсь заставить своих «монстров» перейти через архаиста «PathingCoordinates», установив индивидуальные монстры «chasePoint». Но каждый раз, когда я добавляю больше 1 монстра, они бегают вокруг JPanel во всех направлениях. (Мое предположение, взяв самый быстрый маршрут до следующего «chasePoint»)Java pathing foreach loop
Поскольку я новичок в java и первый пользователь цикла foreach, я бы оценил, если бы кто-то указал мне в том направлении, логика не работает.
for (Monster i : Monstre)
{
this.add(i); //Adds all monsters from the "Monstre" arrayList
i.setBounds(i.monsterx, i.monstery, Monster.img0.getIconWidth(), Monster.img0.getIconHeight());
if(i.monstery == i.chasePoint.getY() && i.monsterx == i.chasePoint.getX()){
p++;
i.chasePoint = PathingCoordinates.get(p);
}
if(i.monsterx < i.chasePoint.getX()){
i.monsterx++;
}else if(i.monstery < i.chasePoint.getY()){
i.monstery++;
}else if(i.monsterx > i.chasePoint.getX()){
i.monsterx--;
}else if(i.monstery > i.chasePoint.getY()){
i.monstery--;
}
}
Извините, если вам нужна дополнительная информация, просьба указать.
Редактировать: Между каждой икрой монстра есть задержка. Первый монстр преследует правильные «chasePoint» следующие мобы, кажется, перемещается случайным образом.
Я предполагаю, что существует проблема с глобальной переменной p. Можете ли вы опубликовать весь класс? – darijan
Как установить точку преследования, это может быть «призрачное действие на расстоянии», где вы случайно устанавливаете один и тот же объект внутри конструктора самого лучшего, но нам нужно увидеть весь класс (который предпочтительно имеет свой собственный основной метод, который позволяет это чтобы работать независимо от других классов и показывает проблему) –
Действительно, проблема с переменной «p» действительно существует! brb –