Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.3.178] |
|
Сообщ.
#1
,
|
|
|
Жизнь меняется и мы меняемся вместе с нею... вот теперь пытаюсь немного программировать на Андроиде.
Суть такая - есть полноэкранное приложение, в нём произвольно плавают какие-то объекты, отображаемые какими-то границами. Нужно чтобы при клике на объект (ну то есть на View приложения) вызывался метод в объекте. Я даже придумал, как это можно сделать если объекты все одинаковые - но у меня получается что объекты разных классов. В С++ я бы с этим разобрался с помощью шаблонов и указателей, а как это сделать в Java - не пойму. Да и во всяких "уроках" никто подобным закидонам внимания не уделяет - везде пишется "создавайте компоненты и обрабатывайте методы". Но я не хочу компоненты, я хочу сам хардкорно рисовать! Может кто знает методику, или хотя бы ссылку на хорошую статью (можно не только на русском, но и на английском или украинском )? |
Сообщ.
#2
,
|
|
|
То ли я тупизну какую-то спрашиваю, то ли без Вуйки никто в Андроиде не программирует.
|
Сообщ.
#3
,
|
|
|
Ну я просто координаты и размеры объектов храню, ну и при нажатии пальца проверяю, попал ли палец в координаты и размеры. Ну и параллельно проверяю чтоб был не мультитач.
Добавлено Вообще, мне больше нравится самому контролировать весь процесс взаимодействия палцев и объектов, нежели пользоваться встроенными средствами системы Но тогда мне приходится и все потоки синхронизировать самостоятельно, а это такой хороший геморрой в яве |
Сообщ.
#4
,
|
|
|
если задача абстрактна и конкретной реализации "неких объектов" "отображаемых какими-то границами" еще нет, то вполне тормознутое и нормальное в ява-среде решение - отнаследовать объект от View (в onDraw и отрисовывать его границы, в нем же клик перехватить), насоздавать контролов и двигать их по экрану.
а координаты нажатия вот например тут есть http://startandroid.ru/ru/uroki/vse-uroki-...abotka-kasanija |
Сообщ.
#5
,
|
|
|
Цитата antonn @ отнаследовать объект от View (в onDraw и отрисовывать его границы, в нем же клик перехватить), насоздавать контролов и двигать их по экрану. Ну у меня уже структура некоторая придумана, поэтому наследование от стандартных компонентов кажется мне унылым. Но вообще наследование - это хорошая идея. Если я все объекты понаследую от некоего базового интерфейса, создам там виртуальный метод для обработки нажатия и реализую его во всех наследованных объектах - то прокатит? Цитата purpe @ Ну я просто координаты и размеры объектов храню, ну и при нажатии пальца проверяю, попал ли палец в координаты и размеры. Вот это уже интересно получается. Как координаты считать - ясно, а как ты нажатие отслеживаешь? Неужели пробегаешь по всем объектам и советуешься с ними? А если они друг друга перекрывают?... Я вот пытаюсь сделать общую карту экрана, которая несёт в себе области со ссылками и знает какая группа пикселей в данный момент ссылается на тот или иной объект, но не знает ничего о самом объекте. Поэтому мне и интересно вызывать одинаковый метод у многих разнотипных объектов. |
Сообщ.
#6
,
|
|
|
Цитата Вот это уже интересно получается. Как координаты считать - ясно, а как ты нажатие отслеживаешь? так же как в любой игрушке - пробежать по всем и передать в каждую координату, и пусть объект скажет было ли пересечение. плюс всякие отсечения по области вывода и прочего. если перекрывают - тот что был раньше в списке - тот первый. |
Сообщ.
#7
,
|
|
|
Эх, я думал что за минувшие годы что-то покруче придумали в смысле отделения "объектов" от "представлений". Ну ладно, возьму как за базовый способ, спасибо.
|