Щепотка зума / жест двойного касания в игре для Android
В настоящее время я создаю игру (Gomoku), в которой пользователь должен вводить свои ходы в квадратную сетку 15x15. У меня нет большого опыта работы с GUI, поэтому я подумал, что хорошим способом сделать это было бы создание множества ImageViews, соответствующих каждому отдельному квадрату, которые бы изменяли фоновое изображение с пустого на X или O при перемещении игрока.
Тем не менее, в некоторых случаях это будет очень сложно (слишком большой палец и / или слишком маленький экран), поэтому я хочу использовать функцию масштабирования для увеличения или двойного нажатия для увеличения.
У меня вопрос: возможно ли реализовать такую функцию в ViewGroup, где она будет увеличивать все виды в ней? Если да, то как, иначе есть ли другой способ реализовать GUI для этой игры?
2 ответа
На самом деле я также разрабатываю Gomoku для Android, ну, вроде как.
Я рисую прямо в Canvas пользовательского просмотра, как предложил Алок. Вы также можете использовать SurfaceView, если вам нужны анимации и плавные движения, или даже OpenGL для переносимости.
Что касается масштабирования, я не использовал масштабирование, просто дважды нажмите. Зачем? Извините за то, что я не более техничный, но иногда, когда вы зажимаете "странные" вещи, происходит смешивание со свитком и выбором квадрата. Также легче играть одной рукой.
Оффтоп: удачи с искусственным интеллектом, довольно сложно сделать его достаточно сильным.
Холст будет лучшим вариантом. Это позволит вам гораздо больше гибкости и графика может быть обновлена. Вы можете добавить несколько изображений и составить сетку на холсте. Вы также можете легко добавить мультитач, как показано на http://android-developers.blogspot.in/2010/06/making-sense-of-multitouch.html