, поэтому у меня есть этот класс Лазера. Моя проблема заключается в том, что лазерная текстура не появляется. Можете ли вы указать, где ошибка, пожалуйста? У меня есть проект на следующей неделе, и я сталкиваюсь с этой проблемой. Я, скорее всего, не выполняю его прямо за пределами этого класса. Код делает то, что он должен делать, однако изображение является проблемой. Когда я нажимаю стрелку ВВЕРХ, предполагается запустить лазерный луч на противоположный корабль, уничтожая его, я нажимаю клавишу ВВЕРХ, я не вижу лазерного луча, но противник уничтожается.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
В чем проблема с изображением? Я не вижу компонентов, на которых вы рисуете. –
@peeskillet Изображение делает то, что он должен делать, но я не вижу его. У меня есть paintComponent, где я добавил player1weapon.draw (g); – MrSilent
Откуда вы знаете, что он делает то, что он должен делать, если вы не можете его увидеть? Возможно, вы должны опубликовать свой GUI-класс. –