Java - Backbuffer
Tja!
Jag håller på med ett spel i Java. När man startar spelet så visas ett textfält och en knapp.
När man har klickat på knappen så ska spelet starta.
Grejen är att nedanstående kod inte fungerar som den skall. Flaskorna som skall trilla ner försvinner direkt när de visar sig.
/* START OF THE STARTBOX */
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("BeerGame");
setLayout(null);
button = new JButton("Start");
button.setBounds(200, 50, 90, 25);
field = new JTextField();
field.setBounds(30, 50, 150, 25);
add(button);
add(field);
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Check up method
setLocationRelativeTo(null); //Check up method
setVisible(true);
/* END OF STARTBOX */
button.addActionListener(this);
addKeyListener(this);
addMouseMotionListener(this);
}
public void mouseMoved(MouseEvent e)
{
x = e.getX();
if(x > 660)
{
x = 660;
}
}
public void mouseDragged(MouseEvent e)
{
}
public void keyPressed(KeyEvent e)
{
}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
public void actionPerformed(ActionEvent e)
{
remove(button);
remove(field);
t.start();
backbuffer = (BufferedImage)this.createImage(800,600);
if (e.getSource() == t && dod==false)
}
Allting fungerar om jag flyttar backbuffer:n ifrån metoden actionPerformed och sätter in den i konstrukton som nedan:
/* START OF THE STARTBOX */
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("BeerGame");
setLayout(null);
button = new JButton("Start");
button.setBounds(200, 50, 90, 25);
field = new JTextField();
field.setBounds(30, 50, 150, 25);
add(button);
add(field);
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Check up method
setLocationRelativeTo(null); //Check up method
setVisible(true);
backbuffer = (BufferedImage)this.createImage(800,600); //Varför måste den vara här??
/* END OF STARTBOX */
button.addActionListener(this);
addKeyListener(this);
addMouseMotionListener(this);
}
public void mouseMoved(MouseEvent e)
{
x = e.getX();
if(x > 660)
{
x = 660;
}
}
public void mouseDragged(MouseEvent e)
{
}
public void keyPressed(KeyEvent e)
{
}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
public void actionPerformed(ActionEvent e)
{
remove(button);
remove(field);
t.start();
if (e.getSource() == t && dod==false)
}