Мерцающие изображения, невозможно создать буферную стратегию
Я новичок в Java и пытаюсь создать простую игру для изучения веревок.
Всякий раз, когда я пытаюсь createBufferStrategy( 2/3 );
Я получаю незаконное государственное исключение.
Если я попытаюсь использовать стандартное исправление -Dsun.java2d.d3d=false
Я не получаю ошибок, но ничего не отображается.
Я пытался использовать -Dsun.java2d.d3d=false
в качестве параметра сборки, но когда я делаю это, я получаю только отображение белого поля.
Я могу установить буферную стратегию на 1, и она будет работать нормально, однако изображения постоянно мерцают.
public Boolean initialize( int p_Width, int p_Height, String p_Name,
AbyssMazeJava p_AbyssMazeJava )
{ // Start setUp.
if( isLocked() )
return false;
p_AbyssMazeJava.setPreferredSize( new Dimension( p_Width, p_Height )
);
p_AbyssMazeJava.setMaximumSize( new Dimension( p_Width, p_Height ) );
p_AbyssMazeJava.setMinimumSize( new Dimension( p_Width, p_Height ) );
JFrame _frame = new JFrame( p_Name );
_frame.add( p_AbyssMazeJava );
_frame.pack();
_frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
_frame.setResizable( false );
_frame.setLocationRelativeTo( null );
_frame.setIgnoreRepaint(true);
_frame.setVisible( true );
p_AbyssMazeJava.initialize();
p_AbyssMazeJava.start();
//
// Test Code:
//
return true;
} // End setUp.
private void draw()
{ // Start draw.
//
// Initializing our buffer and graphics:
//
bufferStrategy = getBufferStrategy();
if( bufferStrategy == null )
{
this.createBufferStrategy( GameDefines.DefaultNumberOfBUffers );
return;
}
graphics = bufferStrategy.getDrawGraphics();
graphics.setColor( GameDefines.DefaultWindowColor );
graphics.fillRect( 0, 0, getWidth(), getHeight() );
//
// Game Draw Code
//
//testPlayer.draw(graphics);
graphics.drawImage( testImage, 0, 0, null );
//
// Disposing our Buffer and Graphics:
//
bufferStrategy.dispose();
graphics.dispose();
} // End draw.
В идеале я хотел бы, чтобы стратегия буфера работала, однако я согласен с устранением мерцания на изображениях.