2012-04-01 3 views
0

У меня проблема с моей 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 годах. Заранее спасибо;).

+0

«Можете ли вы мне помочь?» - Нет, если вы не предоставили никакой полезной информации о вашей проблеме/алгоритме обнаружения столкновений /. – zapl

+0

Кто-то может помочь, если вы предоставили некоторый код для работы. Честно говоря, как вы можете реально ожидать от вас каких-либо ответов, не видя своего кода. –

ответ

3

Похоже, вы создаете объекты Rectangles с плохими координатами. Используйте System.out.println(String s), чтобы распечатать координаты, созданные с помощью Rectangle, и проверить, являются ли они правильными.

Я подозреваю, что у Rectangle игрока есть плохие координаты, потому что ракеты работают нормально, как вы сказали.

Можете ли вы выслать мне полный код вашей игры? Я бы хотел попробовать ...

+0

Отредактировано и надеюсь, что вы мне сейчас поможете. – GrandMasterRapid

Смежные вопросы