В игре, которую я делаю, я хочу сделать так, чтобы зомби не могли пройти друг через друга или игрока.останавливать спрайтов от прохождения друг друга
Я не хочу делать это так, чтобы зомби некоторое время останавливались или двигались в другом направлении, когда они попадали друг в друга, потому что это выглядит странно, и я хочу, чтобы зомби всегда следили за игроком. То, что я думал, состояло в том, чтобы следить за положениями x и y зомби раньше (что я уже делаю), а затем, когда он сталкивается с другим зомби или игроком, он будет телепортироваться в последнюю позицию x и y, прежде чем он столкнется с другим спрайт.
Будет ли это работать? Есть ли лучший способ сделать это? И как я буду следить за последними положениями x и y, прежде чем зомби столкнутся с другим спрайтом?
У меня уже есть код, который hecks коллизию для зомби
for(int i = 0; i < zombies.size(); i++){
Zombie z = (Zombie) zombies.get(i);
Rectangle r2 = z.getBounds();
for(int j = i + 1; j < zombies.size(); j++){
Zombie z2 = (Zombie) zombies.get(j);
Rectangle r1 = z2.getBounds();
if(r2.intersects(r1)){
//the code for stoping the sprites from going through each other should be here
}
}
}
Я просто интересно, что я должен иметь в заявлении, если сделать спрайты не проходящие через друг друга.
Что это с зомби в последнее время? Ты сегодня второй человек, который спрашивает о создании игры с зомби, я сам пишу историю зомби, тогда есть «Растения против зомби» ... в любом случае. Вам нужно создавать классы. Каждый объект класса спрайтов имеет координаты X/Y. Если один из спрайтов движется, вы можете либо перебрать все остальные спрайты (и тем самым проверить, есть ли столкновение), либо сохранить 2-мерную карту плитки, которая сделает это за вас. Как организовано ваше игровое поле? –
Не задавайте другой вопрос, если [ваш предыдущий] (http://stackoverflow.com/questions/16218651/how-to-stop-entities-sprites-from-going-through-each-other) не получает достаточно внимания или, по крайней мере, удалить свой старый вопрос. Телепортация на последнюю позицию кажется довольно сырой. Если вы не позволите пройти через (как многие игры), по крайней мере, не позволяйте зомби перемещаться в занятую позицию. – Gamb