绘制随机圆圈

时间:2010-06-15 08:09:03

标签: android

我正试图在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 个答案:

答案 0 :(得分: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);