У меня проблема с моей java-игрой. Я делаю что-то вроде r-type, и это моя первая попытка сделать игру в java. Я сделал космический корабль, ракеты, инопланетяне, и все работает, но обнаружение столкновения. Кажется, что столкновение между игроком и противником составляет около 500 пикселей, прежде чем приходит настоящий инопланетянин, и говорит, что я проиграл. Можете ли вы мне помочь?Java 2d обнаружение столкновения игры
Редактировать
Хорошо, это все еще не работает. Я вставить здесь свой код, где обнаружение происходит столкновение:
Board.java:
public void checkCollisions() {
Rectangle r1 = al.getBounds();
ArrayList missiles = Craft.getMissiles();
for (int w = 0; w < missiles.size(); w++)
{
Missile m = (Missile) missiles.get(w);
Rectangle m1 = m.getRect();
if (r1.intersects (m1) && al.Alive()) {
al.isAlive = false;
m.visible = false;
}
}
Rectangle c = p.getBounds();
if (c.intersects(r1)) {
lost = true;
}
Craft.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
Enemy.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
Как я уже говорил, ракеты работают отлично, но обнаружение столкновения между кораблями и инопланетянами обнаруживается в x = 458, whi le он должен примерно в 1100-1200 годах. Заранее спасибо;).
«Можете ли вы мне помочь?» - Нет, если вы не предоставили никакой полезной информации о вашей проблеме/алгоритме обнаружения столкновений /. – zapl
Кто-то может помочь, если вы предоставили некоторый код для работы. Честно говоря, как вы можете реально ожидать от вас каких-либо ответов, не видя своего кода. –