Я создаю простую игру типа тир. Я создал прослушиватель движения мыши и использую для рисования изображения в текущей позиции мыши. Это прекрасно работает, но изображение слегка мерцает, когда я перемещаю курсор. Я попробовал несколько двухбуквенных учебников, но ни одна из них не работает.Java Applet Чрезмерное мерцание
Вот мой код
public class ShootingGallery extends JApplet implements MouseMotionListener {
//VARIABLES
int mouseXPos;
int mouseYPos;
Image myImage;
private Image dbImage;
private Graphics dbg;
@Override
public void init() {
setSize(800, 600);//SET UP CURSOR IMAGE
myImage = getImage(getDocumentBase(),"spongebob.gif");
addMouseMotionListener(this);//ADD ACTION LISTENERS
}
@Override
public void mouseDragged(MouseEvent e) {
moveMouse(e);
}
@Override
public void mouseMoved(MouseEvent e) {
moveMouse(e);
}
public void moveMouse(MouseEvent e){
Graphics g = getGraphics();
mouseXPos = e.getX() - (myImage.getWidth(null)/2);
mouseYPos = e.getY() - (myImage.getHeight(null)/2);
repaint();
}
public void paint(Graphics g)
{
super.paint(g);
g.drawImage(myImage, mouseXPos, mouseYPos, this);
}
}
Любая помощь с этим вопросом очень ценится
Вместо того, чтобы перекрасить весь экран «перекрасить» только часть, которая будет изменена. –
Я довольно новичок в java, как именно я это сделал? – user2488275
@ExtremeCoders Менеджер перерисовки, как правило, неплохо разбирается в этом и создает контекст графического изображения соответственно, но контакты верхнего уровня не являются двойными буферами, которые являются основным источником проблемы. – MadProgrammer