Страница 1 из 1

Рисование на Canvas и обновление объектов.

Добавлено: 09 июн 2013, 14:55
kondra007
UPDATE: Я задал вопрос на Stack Overflow, там более подробно и больше кода. Посмотрите, пожалуйста
http://stackoverflow.com/questions/1701 ... sea-battle

Здравствуйте, уважаемые дамы и господа. Очень надеюсь на Вашу помощь.

Есть такое поле.
http://yadi.sk/d/hCifIK6u5dDXs
Что-то типа простого морского боя. В методе onDraw() у меня отрисовывается поле.
Теперь надо сделать, чтобы некоторые квадраты закрашивались в определенный цвет.
Вызываю в своем методе
[syntax=java]
Paint ship = new Paint();
ship.setColor(getResources().getColor(R.color.ship_color));
Canvas canvas = new Canvas();
Rect r = new Rect(x*(rebro_piece),y*rebro_piece, x*(rebro_piece+1), y*(rebro_piece+1));
canvas.drawRect(r, ship);
[/syntax]
ии....ничего не происходит =(

Что делать?

Re: Рисование на Canvas и обновление объектов.

Добавлено: 09 июн 2013, 18:39
xr0m
Повторно то перерисовку вызываешь? Какая логика? После каждого тыка перерисовка канвас?
Новый канвас еще зачем? Ты используешь свой, перерисовывай его. Используешь сюрфейс?

Проверь, что площадь выходит более 1 пикселя (т.е. что заметен)

Re: Рисование на Canvas и обновление объектов.

Добавлено: 09 июн 2013, 19:25
KamiSempai
В "своем методе" вы используете свой Canvas, а нужно использовать тот, который передается через параметр в onDraw.
Запомните, вся прорисовка происходит в методе onDraw, или методах которые он вызывает.
Что бы насильно вызвать onDraw используйте метод invalidate().

Re: Рисование на Canvas и обновление объектов.

Добавлено: 09 июн 2013, 20:43
kondra007
Удалите, пожалуйста, пост, я перепишу его в полную версию.