2013-12-22 1 views
0

Я разработал карточную игру с четырьмя игроками, используюшуюся в плеере. Я использую изображения для отображения рук игроков. Я хочу показать руку каждого игрока дугой (как в реальной жизни). Я думаю, мне нужно использовать ротацию и перевод. как я должен это делать? Знаете ли вы какие-либо учебники, которые это делают? благодарит заранее.Формирование карточной игры с использованием изображений в андроиде

ответ

3

Моя первая мысль была бы сделать следующее:

Позиционирование
Чтобы создать дугу, я бы и использовать FrameLayout проведение ImageViews. Преимущество состоит в том, что вы можете легко накладывать виды. Я бы установил позицию, используя центр. Таким образом, вы можете легко вычислить позиции, используя функцию типа y = - (x*scale)^2 + offset. Вот пример того, что вы могли бы использовать: Click. Но вам нужно немного поиграть со значениями, чтобы получить функцию, которая выглядит хорошо для вас. Кроме того, ось y должна быть в середине экрана (или вы можете изменить вход метода, вычитая ширину экрана/2 или sth, как это). Для того, чтобы фактически определить позицию, то вам необходимо изменить окраину ImageView

вращения Поскольку каждая карта должна иметь другой поворот, я бы определить максимальный угол и минимальный угол. (Это может быть между 15 ° и 30 ° == pi/12 и pi/6)
Чтобы узнать больше о самой ротации, Google, вероятно, поможет. Я сразу:
Scale & rotate Bitmap using Matrix in Android
Android: How to rotate a bitmap on a center point

Z-Order
Для обработки Z-порядок в FrameLayout, вы можете использовать ViewGroup.bringChildToFront(View child), что FrameLayout наследует от ViewGroup. Я бы сохранил карты в массиве и перебирал его, называя bringChildToFront на каждые ImageView.

Это определенно только отправная точка, но с более конкретными проблемами вы получите более конкретные ответы на свой вопрос!

+0

спасибо. Я попробую ваши советы. –

Смежные вопросы