Я создаю небольшой проект космических захватчиков, и у меня постоянно есть инопланетяне в цикле слева направо. Когда они достигают конца экрана, они перерисовывают правую сторону снова слева направо. Я уже установил размер окна и просмотрел различные руководства по созданию космических захватчиков на Java, однако большинство из них говорят то же самое, что и я пробовал. Возможно ли, что кто-то может указать, где я ошибаюсь в своем кодировании, чтобы я знал, как это исправить.
Это код класса пришельцев. Есть разные инопланетяне, однако все классы выглядят примерно так же, как этот:
package spaceinvaders2;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
class Alien extends MoveObject
{
Image Alien = new ImageIcon(getClass().getResource("alien.gif")).getImage();
Alien(int x, int y, int w, int h)
{
super(x, y);
bounds.width = w;
bounds.height = h;
}
public void paint(Graphics g)
{
System.out.println("Alien generated");
bounds.x = bounds.x - 2;
if ((bounds.x + bounds.width)< 0)
{
bounds.x = 750;
dead = false;
}
g.drawImage(Alien,bounds.x,bounds.y,bounds.width, bounds.height, this);
}
}
Редактировать: мой метод рисования вызывается в части основной функциональности игры, где он рисует всю графику. Проблема не в рисовании, а в движении инопланетянина, который находится в этом классе.