9.06.2011 / 10:42 | |
RealknyZ Пользователь Сейчас: Offline
Имя: Роман Откуда: Удмуртия Регистрация: 17.01.2010
| Как узнать пересекает ли некий обьект линию, зная координаты обьекта и координаты начала линии и её конца?
Прикрепленные файлы: line.png (0.98 кб.) Скачано 180 раз |
9.06.2011 / 11:42 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| RealknyZ, Линию или отрезок? Если линию, то берешь вектор АБ и АЦ (Ц точка, твой обьект). Находишь координаты векторов по формуле АБ(хБ-хА;уБ-уА) и АЦ(хЦ-хА;уЦ-уА). Дальше если (хБ-хА)/(хЦ-хА)=(уБ-уА)/(уЦ-уА) то обьект лежит на прямой линии.
|
9.06.2011 / 11:47 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| RealknyZ, если отрезок: находишь координаты векторов АБ и АЦ (Ц- коорд. твоего обьекта). Находишь косинус угла между векторами по формуле. И если АЦ короче АБ и косинус угла = 1 то обьект лежит на отрезке
|
9.06.2011 / 11:54 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| kiriman (09.06.2011/10:35) Помогите с инфой по тачскрину, а то я нагуглить не могу.. вообще ничего стоящего.А какая там инфа? Все методы для работы с ним есть в Canvas
__________________
Эль Презеденте |
9.06.2011 / 11:56 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| LPzhelud, Мне бы пива примеры.
|
9.06.2011 / 12:05 | |
LPzhelud Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| kiriman, protected void pointerDragged(int x, int y); protected void pointerPressed(int x, int y); protected void pointerReleased(int x, int y); Всего три метода, используй так же как keyPressed, keyRepeated, keyRealesd
__________________
Эль Презеденте |
9.06.2011 / 12:06 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| LPzhelud, Я так и думал хД Спасибо.
|
9.06.2011 / 12:10 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| kiriman, public void pointerPressed(int x, int y) {
System.out.println("Pressed: "+x+"/"+y);
}
public void pointerDragged(int x, int y) {
g.drawLine(x,y);
repaint();
}
public void pointerReleased(int x, int y) {
System.out.println("Released: "+x+"/"+y);
}
запихиваешь в канвас, где g - Graphics для картинки, а метод repaint рисует эту картинку на экран, в кэмуляторе мышь будет следы оставлять |
9.06.2011 / 12:16 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| mrEDitor, Спасибо, но так подробно мне не стоит объяснять |
9.06.2011 / 12:20 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| тогдэ мог бы и документацию почитать Кстати, если пользуешь эмуляторы из Сониериксон сдк, убирай сетфуллскрин, он там глючит |