В этом уроке:
- используем Region
Click here to read this article!
Урок 147. Рисование. Region
Урок 147. Рисование. Region
Последний раз редактировалось damager82 29 май 2017, 23:24, всего редактировалось 3 раза.
Re: Урок 147. Рисование. Region
Пример сделан под 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" />
Но если поставить 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
Чтобы все заработало, достаточно закрыть путь (path). Т.е. в данном примере нужно вместо: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" />
Код: Выделить всё
pathDest = region.getBoundaryPath();
Код: Выделить всё
pathDest = region.getBoundaryPath();
pathDest.close();
Re: Урок 147. Рисование. Region
А как круглый регион сделать неподскажите?
Re: Урок 147. Рисование. Region
Доброго времени суток.
Стоит задача написать тетрис. На просторах сети нашел достаточное количество как примеров так и уже готовых. Так что с логикой и общим устройством игры проблем нет. Но одно из дополнительных заданий, нарисовать на фоне фигурок какие то картинки, оказалось не подъемным.
На данный момент каждая фигурка состоит из 4 квадратиков, а все упавшие фигурки образуют одну большую. Они хранятся в виде булевых матриц. Из мыслей было собрать из уже существующих прямоугольников регион, ним ограничить область рисования(clipRegion) и туда нарисовать картинку. Но не пойму как так сделать.
Выкладывать код всего проекта не вижу смысла. Вот код метода который занимается рисованием.
И да изучаю андроид недавно параллельно с в общем java, так что буду рад любым замечаниям и советам.
Стоит задача написать тетрис. На просторах сети нашел достаточное количество как примеров так и уже готовых. Так что с логикой и общим устройством игры проблем нет. Но одно из дополнительных заданий, нарисовать на фоне фигурок какие то картинки, оказалось не подъемным.
На данный момент каждая фигурка состоит из 4 квадратиков, а все упавшие фигурки образуют одну большую. Они хранятся в виде булевых матриц. Из мыслей было собрать из уже существующих прямоугольников регион, ним ограничить область рисования(clipRegion) и туда нарисовать картинку. Но не пойму как так сделать.
Выкладывать код всего проекта не вижу смысла. Вот код метода который занимается рисованием.
Код: Выделить всё
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(bgColor);
region.setEmpty();
p.setColor(fgColor);
//рисуем уже упавшие фигуры
for (int row = 1; row < field.length-1; ++row){
for (int column = 1; column < field[row].length-1; ++column){
if (field[row][column]){
region.op(
(BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(column) - BRICK_GAP_SIZE,
(BRICK_GAP_SIZE+BRICK_SIZE)*(row) - BRICK_GAP_SIZE, Region.Op.UNION
);
canvas.clipRegion(region);
canvas.drawBitmap(
bitmap,
(BRICK_GAP_SIZE+BRICK_SIZE)*(column - 1),
(BRICK_GAP_SIZE+BRICK_SIZE)*(row - 1),
p);
}
}
}
//рисуем падающие фигуры
figure.DrawFigure(canvas,p,bitmap);
}