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

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

30.01.2017, 00:46. Просмотров 603. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2017, 00:46
Ответы с готовыми решениями:

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

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

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

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

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

3
vxg
Модератор
3306 / 2098 / 332
Регистрация: 13.01.2012
Сообщений: 8,148
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
Сообщений: 609
31.01.2017, 17:17 4
не очень понятно что вы делаете. почему вы каждый экшнап создаете новый дроувью и куда то его добавляете. по идее нужно создать дроувью один раз и в нем должна быть паблик функция что то вроде апдейт пэс,каждое нажатие добаввлять в пэс координату, а когда произошло третье нажатие только тогда сделать ему инвалидейт чтоб прорисовался.
если хотите чтоб рисовал линии после каждого нажатия то делаете инвалидейт после каждого нажатия
0
31.01.2017, 17:17
Answers
Эксперт
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 - 2020, vBulletin Solutions, Inc.