Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как толкнуть одной фигурой другую в методе onDraw - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как сделать LinearLayout в несколько колонок http://www.cyberforum.ru/android-dev/thread1061669.html
Появился вопрос, как сделать LinearLayout в две или несколько колонок, каждый из них содержит как минимум по одной imageview и textview, вставляются в область активити эти layout'ы с помощью...
Программирование Android SQLite. Жутко тормозит Cursor Выполняю запрос к бд с большими объемами данных, связывая левым соединением несколько таблиц. Выяснил, что запрос выполняется быстро, а тормозит курсор. В выборке может и не быть строк, но первое... http://www.cyberforum.ru/android-dev/thread1061598.html
Программирование Android Как разнести исходной код по разным файлам
Допустим у меня есть java файл активити - очень большой много классов, функций. Как этот код разнести по разным файлам, хотя бы классы, подобно как на с++, создаётся файл функций и заголовочный файл...
Как получить данные из EditText, созданного программно, или как узнать ID элемента? Программирование Android
Всем здрасте и с Новым годом! Суть вопроса: Как получить значение, введенное пользователем в EditText, созданного программно или через адаптер? Ведь его ID не известно :( Теперь подробнее: Есть...
Программирование Android Проверка лицензии http://www.cyberforum.ru/android-dev/thread1061395.html
Есть проверка лицензии приложения, которая запускается так: mChecker.checkAccess(mLicenseCheckerCallback); Обьект mLicenseCheckerCallback служит для возвращение результата проверки лицензии....
Программирование Android База записей, из которой каждый день нужно брать пару-тройку определенных и показывать на экране Всем доброго времени суток Возникла такая проблема: требуется создать очень простое приложение на Android, но опыта в разработке приложений для мобильных устройств у меня абсолютно никакого. Имеются... подробнее

Показать сообщение отдельно
yuraavakyan
0 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 7

Как толкнуть одной фигурой другую в методе onDraw - Программирование Android

02.01.2014, 12:39. Просмотров 1144. Ответов 11
Метки (Все метки)

Здравствуйте.Я на этом форуме новенький.Это мое первое сообщение,так что если формат формулировки не совсем правильный,попрошу меня извинить.Так вот суть проблемы: У меня есть два прямоугольника я хочу одним толкать другой,но проблема в следующем...толкать-то он толкает,только вот помимо толкания он также и тащит его за собой.
Алгоритм следующий:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public  boolean onTouchEvent(MotionEvent event){
        
        
        switch(event.getAction()){
        case MotionEvent.ACTION_DOWN:
            touchX = event.getX();
            touchY = event.getY();          
        case MotionEvent.ACTION_UP:
            dx = touchX - event.getX();
            dy = touchY - event.getY();            
            if(Math.abs(dy) > Math.abs(dx)){ 
                
                if(dy > 0){   //Direction UP   
                    
                    
                    
                    manFirstY = manFirstY - 50;
                    manSecondY = manSecondY - 50;                    
                    if(manFirstY < targetSecondY && manFirstX == targetFirstX){                     
                        targetFirstY = targetFirstY - 50;
                        targetSecondY = targetSecondY - 50;
                        
                    }
                    
                }
 
                else if(dy < 0){    //Direction DOWN                                   
                    manFirstY = manFirstY + 50;
                    manSecondY = manSecondY + 50;                    
                    if(manSecondY > targetFirstY && manFirstX == targetFirstX){                 
                        targetFirstY = targetFirstY + 50;
                        targetSecondY = targetSecondY + 50;
                    }
   
                }
            }
            else{
                if(dx > 0){     //Direction LEFT                 
                    manFirstX = manFirstX - 50;
                    manSecondX = manSecondX - 50;                  
                    if(manFirstX < targetSecondX && manFirstY == targetFirstY){
                        targetFirstX = targetFirstX - 50;
                        targetSecondX = targetSecondX - 50;
                    }
            
                }
                else if(dx < 0){     //Direction RIGHT                    
                    manFirstX = manFirstX + 50;
                    manSecondX = manSecondX + 50;                 
                    if(manSecondX > targetFirstX && manFirstY == targetFirstY){
                        targetFirstX = targetFirstX +50;
                        targetSecondX = targetSecondX +50;
                    }   
                }
            }          
    }
        
    return true;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru