Я новичок в Android, но у меня есть некоторые знания Java, и я начал читать документацию по Android и некоторые книги, но я в самом начале. Но даже если бы я прочитал больше, было бы трудно узнать рекомендуемый способ делать то, что я хочу, без реального опыта программирования на Android ...
Что мне нужно, так это иметь какую-то поверхность, на которой я могу рисовать / рисовать / любые партии изображений, возможно, PNG с прозрачностью. Мне нужно иметь возможность перемещаться и увеличивать эту поверхность со всеми этими изображениями. Мне также нужно иметь возможность нажимать на любое из этих изображений и знать, какое из них было нажато.
Я читал учебник One Finger Zoom от разработчиков Sony Ericsson, и это похоже на хорошее решение для того, что я хочу сделать. Но я немного сбит с толку, потому что этот код предназначен для одного растрового изображения, и мне нужно, чтобы их было много на некоторой поверхности / холсте.
Я думаю о двух способах сделать это:
- Адаптируйте код так, чтобы я мог рисовать каждое изображение на
Canvas
(из onDraw()
), но вот где я запутался, я не вижу, как мне это сделать, потому что текущий код прост для одно изображение, не так много, чтобы учитывать.
- Наложение всех моих изображений в один растровый рисунок и использование этого растрового изображения в качестве фона для
Canvas
(еще раз из onDraw()
). Я мог бы сохранить положение этих изображений в Canvas
в массив или что-то еще и использовать это как ссылку, чтобы увидеть, нажал ли пользователь какой-либо из них. Я полагаю, это возможно таким образом?
Итак, на самом деле вот что я спрашиваю:
- Если первый описанный метод лучше, пожалуйста, помогите мне понять, как я могу достичь такой цели.
- Если второе лучше, не могли бы вы дать мне несколько советов, как я могу наложить все эти изображения, сохранить их позиции и обнаружить их с помощью сенсорного события?
- Если есть лучший способ справиться со всем этим, я хотел бы услышать об этом.
Это очень простая игра, о которой я думаю, и прежде чем идти по этому пути, OpenGL - это слишком много для того, что мне нужно, и я хочу сделать один шаг за раз. Сначала изучите программирование на Android, а когда-нибудь изучите OpenGL.