Рисование случайных кругов - PullRequest
1 голос
/ 15 июня 2010

Я пытаюсь нарисовать круги купола в случайных местах в приложении для 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 Ответ

1 голос
/ 15 июня 2010

Этот код даже не компилируется.Что такое 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...