我有这段代码:
public Juego() {
setFocusable(true);
loop = new Timer(10, this);
loop.start();
jugador = new Jugador(400, 400);
}
public void pintar(Graphics g) {
super.paint(g);
Graphics2D g2D = (Graphics2D) g;
jugador.dibujar(g2D);
}
应该将玩家吸引到屏幕上,这是实际玩家的代码:
public class Jugador extends PosicionGlobal {
private String imagendejugador = "/imagenes/jugador.png";
public Jugador(int x, int y) {
super(x, y);
}
public void actualizar() {
}
public void dibujar(Graphics2D g2D) {
g2D.drawImage(imagendejugador(), x, y, null);
}
public Image imagendejugador(){
ImageIcon icono = new ImageIcon(getClass().getResource(imagendejugador));
return icono.getImage();
}
}
当我运行它时,播放器看起来不像以前那样只是白色屏幕。 PD:我有一个JFrame
,我已经把它添加到了它。
如果需要这里是PosicionGlobal类:
public class PosicionGlobal {
public int x;
public int y;
public PosicionGlobal(int x, int y) {
this.x = x;
this.y = y;
}
}
答案 0 :(得分:0)
你需要重写paint()而不是pintar()..
变化
public void pintar(Graphics g) {
到
@Override public void paint(Graphics g) {
并确保拨打super.paint(g);