2013-11-19 2 views
1

, поэтому у меня есть этот класс Лазера. Моя проблема заключается в том, что лазерная текстура не появляется. Можете ли вы указать, где ошибка, пожалуйста? У меня есть проект на следующей неделе, и я сталкиваюсь с этой проблемой. Я, скорее всего, не выполняю его прямо за пределами этого класса. Код делает то, что он должен делать, однако изображение является проблемой. Когда я нажимаю стрелку ВВЕРХ, предполагается запустить лазерный луч на противоположный корабль, уничтожая его, я нажимаю клавишу ВВЕРХ, я не вижу лазерного луча, но противник уничтожается.Java. Почему мой образ не отображается в моем графическом интерфейсе

private class Player1weapon { 
     int centerX, centerY; 
     boolean isFalling; 
     public Image laserp1; 
     public ImageIcon icon; 


     public Player1weapon() { 
      isFalling = false; 
      icon = new ImageIcon("resources/laserplayer1.png"); 
      laserp1 = icon.getImage(); 
     } 

     void updateForNewFrame() { 
      if (isFalling) { 
       if (centerY > height + 10) { 
        isFalling = false; 
       } 
       else 
        if (Math.abs(centerX - player2.centerX - 40) <= 30 && Math.abs(centerY - player2.centerY) <= 21) { 
         player2.isExploding = true; 
         player2.explosionFrameNumber = 1; 
         isFalling = false; 
         player1.score+=10; 
        } 
        else 
         if(player1.isExploding){ 
          isFalling = false; 
         } 
         else 
          centerY -= 30; 
      }//end if 
     }//end updateForNewFrame() 

     void draw(Graphics g) { 
      if (!isFalling) { 
       centerX = player1.centerX + 37; 
       centerY = player1.centerY + 23; 
      } 
       g.drawImage(laserp1, centerX, centerY - 8, laserp1.getWidth(null), laserp1.getHeight(null),null); 
     }//end Draw() 

    }//end player1weapon 
+0

В чем проблема с изображением? Я не вижу компонентов, на которых вы рисуете. –

+0

@peeskillet Изображение делает то, что он должен делать, но я не вижу его. У меня есть paintComponent, где я добавил player1weapon.draw (g); – MrSilent

+0

Откуда вы знаете, что он делает то, что он должен делать, если вы не можете его увидеть? Возможно, вы должны опубликовать свой GUI-класс. –

ответ

1

Если вы работаете из IDE (например, затмение или NetBeans), убедитесь, что ваши каталоги выглядеть примерно так

ProjectRoot 
     resources 
       laserplayer1.png 
     src 

Может быть просто проблема с пути к файлу.

+1

Вы потрясающий, должен быть «src/resources/laserplayer1.png» вместо «resources/laserplayer1.png». Я не думал об этом, спасибо. – MrSilent

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