Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 28 мар 2017, 02:24

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Урок 147. Рисование. Region
СообщениеДобавлено: 17 мар 2014, 04:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1320
Благодарил (а): 0 раз.
Поблагодарили: 71 раз.
В этом уроке:

- используем Region

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 23 июн 2016, 22:24, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 147. Рисование. Region
СообщениеДобавлено: 11 июн 2014, 12:41 

Зарегистрирован: 08 июл 2013, 17:58
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пример сделан под Build Target: API 10: Android 2.3.3.
Но если поставить Build Target: API 19: Android 4.4 - пример не работает.
Синяя итоговая область региона не выводится.

Т.е., пример работает, если в манифесте:

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />

И не работает, если в манифесте:

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 147. Рисование. Region
СообщениеДобавлено: 21 июн 2014, 14:52 
Аватар пользователя

Зарегистрирован: 21 сен 2013, 20:09
Сообщений: 3
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
RomanNT писал(а):
Пример сделан под Build Target: API 10: Android 2.3.3.
Но если поставить Build Target: API 19: Android 4.4 - пример не работает.
Синяя итоговая область региона не выводится.

Т.е., пример работает, если в манифесте:

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />

И не работает, если в манифесте:

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />


Чтобы все заработало, достаточно закрыть путь (path). Т.е. в данном примере нужно вместо:
Код: [ Загрузить ] [ Скрыть ]
  1. pathDest = region.getBoundaryPath(); 

Написать:
Код: [ Загрузить ] [ Скрыть ]
  1. pathDest = region.getBoundaryPath(); 
  2. pathDest.close(); 

И все работает как в примере!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 147. Рисование. Region
СообщениеДобавлено: 17 май 2015, 17:10 
Аватар пользователя

Зарегистрирован: 10 мар 2014, 09:14
Сообщений: 193
Благодарил (а): 18 раз.
Поблагодарили: 10 раз.
А как круглый регион сделать неподскажите?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 147. Рисование. Region
СообщениеДобавлено: 06 дек 2015, 23:56 

Зарегистрирован: 06 дек 2015, 23:26
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Доброго времени суток.
Стоит задача написать тетрис. На просторах сети нашел достаточное количество как примеров так и уже готовых. Так что с логикой и общим устройством игры проблем нет. Но одно из дополнительных заданий, нарисовать на фоне фигурок какие то картинки, оказалось не подъемным.
На данный момент каждая фигурка состоит из 4 квадратиков, а все упавшие фигурки образуют одну большую. Они хранятся в виде булевых матриц. Из мыслей было собрать из уже существующих прямоугольников регион, ним ограничить область рисования(clipRegion) и туда нарисовать картинку. Но не пойму как так сделать.
Выкладывать код всего проекта не вижу смысла. Вот код метода который занимается рисованием.
Код: [ Загрузить ] [ Скрыть ]
  1.     public void onDraw(Canvas canvas) { 
  2.         super.onDraw(canvas); 
  3.         canvas.drawColor(bgColor); 
  4.         region.setEmpty(); 
  5.         p.setColor(fgColor); 
  6.          
  7.         //рисуем уже упавшие фигуры 
  8.         for (int row = 1; row < field.length-1; ++row){ 
  9.             for (int column = 1; column < field[row].length-1; ++column){ 
  10.                 if (field[row][column]){ 
  11.                     region.op( 
  12.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1),  
  13.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),  
  14.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(column) - BRICK_GAP_SIZE,  
  15.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(row) - BRICK_GAP_SIZE, Region.Op.UNION 
  16.                             ); 
  17.                     canvas.clipRegion(region); 
  18.                     canvas.drawBitmap( 
  19.                             bitmap,  
  20.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1), 
  21.                             (BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),  
  22.                             p); 
  23.                 } 
  24.             } 
  25.         } 
  26.         //рисуем падающие фигуры 
  27.         figure.DrawFigure(canvas,p,bitmap); 
  28.     } 

И да изучаю андроид недавно параллельно с в общем java, так что буду рад любым замечаниям и советам.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB