2011-05-12 79 views
1

嘿,所有。快速问题在这里。我试图让相机保持在播放器的中心位置,但在下面的代码中,相机可以说仍然在移动。关于如何让它留在一个地方的任何想法?2D瓷砖相机?

for(int across = player.PlayerX-5; across < player.PlayerX+5; across++) 
     { 
      for(int vert = player.PlayerY-5; vert < player.PlayerX+5; vert++) 
      { 
      //double RANDOM = Math.random(); 
      if(across < 0 || vert < 0) 
      { 
      } 
      else if(levONE.A[vert][across] == 1) 
      { 
       g.drawImage(Floor,across*32,vert*32,this); 

      else if(levONE.A[vert][across] == 0) 
       g.drawImage(Wall,across*32,vert*32,this); 
      } 
     } 

回答

1

它看起来像你有一个自上而下的2D游戏与瓷砖地图。你正试图在中间玩家呈现一个9x9的方格?

'else if(levONE.A [vert] [across] == 1)'后面有一些奇怪的东西''但是我认为那不会编译它的当前状态?

除此之外,代码看起来不错,我可能会从添加打印语句开始,以确保您所获得的数据符合您的期望。喜欢的东西...

for(int across = player.PlayerX-5; across < player.PlayerX+5; across++) 
{ 
    for(int vert = player.PlayerY-5; vert < player.PlayerX+5; vert++) 
    { 
    //double RANDOM = Math.random(); 
    if(across < 0 || vert < 0) //might want to check the 'high' bounds here too 
    { 
    } 
    else if(levONE.A[vert][across] == 1) 
    { 
     g.drawImage(Floor,across*32,vert*32,this); 
    } 
    else if(levONE.A[vert][across] == 0) 
    { 
     g.drawImage(Wall,across*32,vert*32,this); 
    } 

    //print ("%d ", levONE.A[vert][across]); 
    } 
    //print ("\n"); 
} 

应该给你一个很好的网格

0 0 0 0 0 0 0 0 
1 1 0 0 1 1 1 1 
etc.. 
+0

我得到它的工作,和我用过的东西喜欢你有什么。并感谢上限的东西,我完全忽略了它:D – DGH94 2011-05-13 01:38:27