2013-12-08 39 views
0

對不起再次問一個問題的人,但即時通訊再次阻止,Arraylists只是不喜歡我;)。 現在我堅持繪製對象的問題,他們不會被繪製,除了可能在隨機的地方。我認爲,也許我只是創建一個對象,並將它放在新的陣列中,但我不完全確定。塊是污垢的超類。從一個陣列中抽出物體

public class MuthaLoad extends JPanel { 

     public static void main(String[] args) { 
      JFrame window = new JFrame("MuthaLoad"); 
      window.setContentPane(new MuthaLoad()); 
      window.setSize(600,600); 
      window.setLocation(100,100); 
      window.setVisible(true); 

    } 
     private int health=100; 
     private int money=100; 

     private ArrayList<Block> blockWorld=new ArrayList<Block>(); 
     private int colum=0; 
     private int row=0; 

     public MuthaLoad(){ 
      for(int i=0;i<144;i++){ 
       if(i%12==0){ 
        colum=0; 
        row+=50; 
       } 
       blockWorld.add(new Block(0,0)); 
       int random=(int)(Math.random()*100); 
       System.out.println(colum + "" + row); 
       blockWorld.add(new Block.Dirt(colum,row)); 
       if(i<72){ 

       } 
       else{ 
        blockWorld.add(new Block.Dirt(i,i)); 
       } 
//    else if(random<5){ 
//     
//    } 
//    else if(random<50){ 
////     blockWorld.add(block.new dirt(50,0)); 
//    } 
       colum+=50; 
      } 
     } 
      public void paintComponent(Graphics g){ 
       super.paintComponent(g); 
       for(int i=0;i<144;i++){ 
        blockWorld.get(i).draw(g); 
       } 


     } 

} 
+0

您是否將塊的位置設置到不同的位置? –

+0

是的,他們每個人都得到不同的x和y座標,但它似乎是唯一創造的,我認爲它只是取代最後一個反覆 – user3078872

+0

,但我不知道如何解決這個問題 – user3078872

回答

0

用戶和我離線討論了這個問題。我們發現這個問題:在「Block」類中,變量「x」和「y」被聲明爲靜態的。 因此,對任何Block的「x」和「y」變量所做的最後一次賦值是設置所有Block對象的位置。