如何在java canvas中创建初始化方法?

时间:2015-09-27 05:57:31

标签: java canvas

我试图用java制作游戏。我的问题是我没有初始化方法或者当我尝试创建一个时,我的repaint()方法替换了我的初始化方法。我需要初始化来生成我的地图。因为我的地图是一个多边形列表,我想在点击时设置背景。所以,如果它每次都在repaint()调用的循环中生成,我就无法做到。

我的代码:

运行方法:

 @Override
   public void run()
  {
     while (isRunning)
        {
            backPanel.repaint();
        }
 }

我的backpanel课程

 int jogadas = 1;

绘画方法:

@Override
    public void paint(Graphics canvasOriginal)
      { 
        super.paint(canvasOriginal);
        canvas = (Graphics2D) canvasOriginal;
        canvas.setColor(Color.BLACK);
        mapa = new Mapa(canvas);
        mapa.DrawMapa(100, 50, 5);
       getJogada();

  }

   int getVez() {
   if(jogadas % 2 == 0) {
       return 1;
   }
   return 0;
 }   

void getJogada() {
     Hexagono hex = mapa.selecionarHex(x, y);
     if(!hex.getPrenchido()) {
        if(jogador1.getNumero() == getVez()) {
              hex.Preencher(jogador1.getColor());
        } else {
              hex.Preencher(jogador2.getColor());
        }
        jogadas++;
     }

} 

Obs:mapa.selectHex选择列表中的十六进制。 hex.preencher()填充十六进制多边形。

结果:

It is changing every 1ms the filled background red to blue

0 个答案:

没有答案