シンプルなシューティングギャラリータイプのゲームを作成しています。マウスモーションリスナーを作成し、マウスの現在の位置に画像を描画するために使用しています。これはうまくいきますが、カーソルを動かすと画像がちらつきます。ダブルバッファリングのチュートリアルをいくつか試しましたが、どれも機能しません。
これが私のコードです
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);
}
}
この問題に関するヘルプは大歓迎です