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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402
#1

Движение по эллипсу - Android

02.10.2014, 14:23. Просмотров 361. Ответов 0
Метки нет (Все метки)

Пишу кастомную, вращающуюся менюшку, сейчас она вращается по кругу
В этом методе происходит расчет новых координат при вращении
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
    private void rotateButtons(float degrees) {
        Log.i(LOG_TAG, "rotateButtons");
        int left, top, childCount = getChildCount();
        float angleDelay = 360 / childCount;
        angle += degrees;
 
        if (angle > 360) {
            angle -= 360;
        } else {
            if (angle < 0) {
                angle += 360;
            }
        }
 
        for (int i = 0; i < childCount; i++) {
            if (angle > 360) {
                angle -= 360;
            } else {
                if (angle < 0) {
                    angle += 360;
                }
            }
            LinearLayout lr = (LinearLayout)  getChildAt(i);
            final CircleImageView child = (CircleImageView) lr.getChildAt(0);
            if (child.getVisibility() == GONE) {
                continue;
            }
            left = Math
                    .round((float) (((circleWidth / 2) - childWidth / 2) + radius
                            * Math.cos(Math.toRadians(angle))));
            top = Math
                    .round((float) (((circleHeight / 2) - childHeight / 2) + radius
                            * Math.sin(Math.toRadians(angle))));
 
            child.setAngle(angle);
 
            if (Math.abs(angle - firstChildPos) < (angleDelay / 2)
                    && selected != child.getPosition()) {
                selected = child.getPosition();
 
                if (mOnItemSelectedListener != null && rotateToCenter) {
                    mOnItemSelectedListener.onItemSelected(child,
                            child.getName());
                }
            }
 
            lr.layout(left, top, left + childWidth, top + childHeight);
            angle += angleDelay;
        }
    }
Помогите, пожалуйста, изменить этот метод так, чтоб вращение было по эллипсу (вытянутому вверх как - 0 ).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2014, 14:23     Движение по эллипсу
Посмотрите здесь:

уравнение касательной к эллипсу
C++ Builder Движение картинки по эллипсу
Android SeekBar - движение по заданным значениям
Android Движение ImageView. Объект возвращается на исходную позицию
Pascal ABC Изобразить движение планеты вокруг солнца по эллипсу
Движение по наклонённому эллипсу JavaScript
Движение геометрической фигуры Android
Android Как реализовать движение картинки?
PascalABC.NET Движение круга по эллипсу
Движение View Android
C++ Builder Движение спутника. Движение точки по эллипсу в c++ builder
Android Нужно отслеживать движение зрачков

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru