很抱歉再问一个问题,但是我再次难倒,Arraylists就是不喜欢我;)。 现在我坚持绘制对象的问题,除了可能在随机的地方之外,它们不会被绘制。我想也许我只创建一个对象并将它放在新阵列中但我不完全确定。 block是污垢的超类。
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)
用户和我离线讨论了这个问题。我们发现了这个问题:在“Block”类中,变量“x”和“y”被声明为static。 因此,对任何Block的“x”和“y”变量进行的最后一次分配是设置所有Block对象的位置。