2010-06-15 232 views
0

我想在Android應用程序的隨機位置繪製圓頂圓圈。 我將它們繪製在位圖上,然後在畫布上繪製該位圖。這是繪製圓圈的功能:繪製隨機圓圈

private void drawRandomCircles(int numOfCircles) { 
    Canvas c = new Canvas(b); 
    Paint cPaint = new Paint; 
    cPaitn.setColor(Color.RED); 
    for(int i = 0; i < numOfCircles; i++) { 
     int x = Math.Random % 100; 
     int y = Math.Random % 100; 
     c.drawCircle(x, y, 20, cPaint) 
    } 
} 

位圖b是全局的。 在調用這個函數之後,我只是在onDraw方法中繪製位圖。 現在的問題是,我只能在屏幕上繪製一個圓,無論numOfCircles的大小如何。

任何線索這裏發生了什麼?

回答

1

該代碼甚至沒有編譯。什麼是new Paint;例如?

我建議你將你的參數記錄到drawCircle以確保你在不同的位置繪製它們。例如,如果Math.Random是一個字段,它將在讀取之間發生變化,這會將圓圈放在彼此的頂部。

如果你打算寫Math.random()的錯誤是Math.random()返回0和1之間,您可能需要使用

Random r = new Random(); 
// your loop 
    int x = r.nextInt(100); 
    int y = r.nextInt(100); 
+0

首先,我要感謝你的回答和建議值。代碼不會編譯,因爲我手工編寫而不是從源代碼複製它(我知道它很愚蠢)。 我改變了隨機類調用Math.random()調用,並做了訣竅。 再次,非常感謝! – ViktorC 2010-06-15 11:21:37