Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
StasSK
0 / 0 / 0
Регистрация: 05.01.2017
Сообщений: 10
1

Рисуем треугольник по координатам

30.01.2017, 00:46. Просмотров 311. Ответов 3
Метки нет (Все метки)

Мужики вопрос очередной по канвас! Откуда он берет первую или третью координату 0? Нужно чтобы по нажатию на экран ставило скажем точку и когда я их поставлю 3 то они соединялись. А сейчас ставлю две точки, а третья ставится сама на координаты 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
51
52
53
54
55
56
57
58
59
60
61
62
63
class DrawView extends View {
 
        Paint p;
        Path path;
 
        public DrawView(Context context) {
            super(context);
            p = new Paint();
 
            // path, треугольник
                path = new Path();
                path.moveTo(paint_x, paint_y);
                path.lineTo(paint_x_2, paint_y_2);
                path.lineTo(paint_x_3, paint_y_3);
                path.lineTo(paint_x_4, paint_y_4);
                path.close();
        }
 
        @Override
        protected void onDraw(Canvas canvas) {
 
            // треугольник
                p.setColor(Color.RED);
                canvas.drawPath(path, p);
        }
    }
 
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        x = event.getX();
        y = event.getY();
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: // нажатие
                i++;
                if(i==1) {
                    paint_x = x;
                    paint_y = y;
                }
                if(i==2) {
                    paint_x_2 = x;
                    paint_y_2 = y;
                }
                if(i==3) {
                    paint_x_3 = x;
                    paint_y_3 = y;
                }
                if(i==4) {
                    paint_x_4 = x;
                    paint_y_4 = y;
                    i=0;
                }
                break;
            case MotionEvent.ACTION_MOVE: // движение
 
                break;
            case MotionEvent.ACTION_UP: // отпускание
                rl.addView(new DrawView (getApplicationContext()));
            case MotionEvent.ACTION_CANCEL:
 
                break;
        }
        return true;
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2017, 00:46
Ответы с готовыми решениями:

Рисуем линию на TextView
Привет! Имею ListView с итемами из двух TextView, которые заполняются через...

Рисуем иконку для Notification.Builder setSmallIcon(int icon)
Что для этого нужно? Можно ли зарегистрировать свой ресурс - картинку из памяти...

Рисуем треугольник
Нарисуйте треугольник по данным, введенным пользователем. Цвет линий и стиль...

Рисуем программно треугольник!
Всем привет! Есть такая задачка: написать программу, которая рисует...

Процедура позволяет рисовать треугольник по координатам вершин трёх точек. Нарисовать прямоугольный треугольник, и равнобедренный
помогите пожалуйста решить, срочно нужно на экзамен...жду вашей помощи)...

3
vxg
Модератор
3278 / 2075 / 327
Регистрация: 13.01.2012
Сообщений: 8,055
30.01.2017, 09:05 2
Цитата Сообщение от StasSK Посмотреть сообщение
сейчас ставлю две точки
по мне так в вашем коде вы ставите 4 точки
0
StasSK
0 / 0 / 0
Регистрация: 05.01.2017
Сообщений: 10
30.01.2017, 19:19  [ТС] 3
да по сути, но как-то только ставлю 2 начинает рисовать почему так ?
0
shavuz
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 596
31.01.2017, 17:17 4
не очень понятно что вы делаете. почему вы каждый экшнап создаете новый дроувью и куда то его добавляете. по идее нужно создать дроувью один раз и в нем должна быть паблик функция что то вроде апдейт пэс,каждое нажатие добаввлять в пэс координату, а когда произошло третье нажатие только тогда сделать ему инвалидейт чтоб прорисовался.
если хотите чтоб рисовал линии после каждого нажатия то делаете инвалидейт после каждого нажатия
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2017, 17:17

рисовать треугольник по координатам вершин
Помогите плз Процедура позволяет рисовать треугольник по координатам вершин...

Нарисовать треугольник по координатам вершин
здравствуйте помогите пожалуйста нужно нарисовать треугольник по координатам...

Нарисовать треугольник по координатам в PictureBox
Подскажите как нарисовать треугольник по координатам. в PictureBox. Вот у...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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