Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 4
1

Движение графических примитивов

01.04.2017, 12:41. Показов 1102. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не работает движение нижней части клюва , помогите понять почему и помогите исправить .

C#
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Text;
 
 
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
           
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            timer1.Interval = 1000;
            timer1.Start();
 
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            Pen p = new Pen(Color.Black, 10);
            Pen q = new Pen(Color.Black, 5);
            SolidBrush myBrush = new SolidBrush(Color.Red);
            int y1 = 114;
            int y = 100;
            
            int dy = 15;
 
            Graphics g = pictureBox1.CreateGraphics();
 
            SolidBrush myBlue = new SolidBrush(Color.Blue);
            SolidBrush myBlack = new SolidBrush(Color.Black);
            SolidBrush myOrange = new SolidBrush(Color.Orange);
            SolidBrush myWhite = new SolidBrush(Color.White);
 
            g.DrawPolygon(p, new Point[] { //тело
                new Point(250,10),new Point(270,30),
                new Point(300,30),new Point(320,10),
                new Point(370,60),new Point(390,115),
                new Point(390,220),new Point(350,290),
                new Point(220,290),new Point(180,220),
                new Point(180,115),new Point(200,60)
            });
 
            g.FillPolygon(myBlue, new Point[] { //тело
                new Point(250,10),new Point(270,30),
                new Point(300,30),new Point(320,10),
                new Point(370,60),new Point(390,115),
                new Point(390,220),new Point(350,290),
                new Point(220,290),new Point(180,220),
                new Point(180,115),new Point(200,60)
            });
            g.DrawPie(p, 351, 115, 75, 105, 90, 180);//правое крыло
            g.FillPie(myWhite, 351, 115, 75, 105, 90, 180);
 
            g.DrawPie(p, 143, 115, 75, 105, 270, 180);//левое крыло
            g.FillPie(myWhite, 143, 115, 75, 105, 270, 180);
 
            g.DrawEllipse(p, 243, 130, 85, 140);//пузо
            g.FillEllipse(myWhite, 243, 130, 85, 140);
 
            g.DrawEllipse(q, 225, 40, 35, 50);//л.глаз
            g.FillEllipse(myWhite, 225, 40, 35, 50);
            g.FillEllipse(myBlack, 243, 65, 15, 25);
 
            g.DrawEllipse(q, 310, 40, 35, 50);//п.глаз
            g.FillEllipse(myWhite, 310, 40, 35, 50);
            g.FillEllipse(myBlack, 328, 65, 15, 25);
 
            g.DrawPolygon(q, new Point[] { //верх клюва
                new Point(270,100),new Point(285,80),
                new Point(300,100)
            });
            g.FillPolygon(myOrange, new Point[] { //верх клюва
                new Point(270,100),new Point(285,80),
                new Point(300,100)
            });
 
            g.DrawPolygon(q, new Point[] { //низ клюва
                new Point(270,100), new Point(285,114),
                new Point(300,100)
            });
 
            y1 += dy;
            y += dy;
 
            if ( y > 118 && y1 >132) 
* * * * * * {
                dy = -dy;
            }
            
            g.FillPolygon(myOrange, new Point[] { //низ клюва
                new Point(270,y), new Point(285,y1),
                new Point(300,y)
 
            });
            
 
 
            g.DrawPie(q, 218, 275, 65, 50, 180, 180); //левая нога
            g.FillPie(myOrange, 218, 275, 65, 50, 180, 180);
 
            g.DrawPie(q, 290, 275, 65, 50, 180, 180); //правая нога
            g.FillPie(myOrange, 290, 275, 65, 50, 180, 180);
 
 
            g.DrawString("I will crash you down!", Font, myBrush, 600, 50);
 
            
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2017, 12:41
Ответы с готовыми решениями:

Рисование графических примитивов на форме
Народ. Интересует рисование на форме, то есть круги, треугольники, линии движением мыши, но начиная...

Распознавание графических примитивов
Посоветуйте пожалуйста алгоритмы распознавания геометрических фигур в зашумленном изображении...

Расчета длины контуров графических примитивов, закодированных в PLT файле
Добрый вечер. Имеется программа расчета длины контуров графических примитивов, закодированных в PLT...

Основные методы для рисования графических примитивов в Windows Forms
Назвать основные методы для рисования графических примитивов (Windows Forms)

1
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
01.04.2017, 13:10 2
Цитата Сообщение от KentBrockman Посмотреть сообщение
помогите понять почему
потому что y и y1 при каждой прорисовке инициализируются заново, а должны хранить предыдущее значение. Их нужно сделать полями класса
1
01.04.2017, 13:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2017, 13:10
Помогаю со студенческими работами здесь

Движение графических фигур
Подскажите пожалуйста. Нарисована фигура( квадрат, круг), есть методы масштаб, и передвижение...

Оптимальная система вывода множества графических объектов и их движение
Здравствуйте программисты У меня к вам следующий вопрос: Есть большое количество(5000-20000)...

Использование графических примитивов
Используя графические примитивы,задав параметры пера и кисти нарисовать щенка! Скажите как это...

Отображение графических примитивов
не подскажите как нарисовать круг, треугольник и домик. Ищу в интернете не как не могу найти(

Построение графических примитивов
Ребята помогите пожалуйста нужно две программы вообщем задание такое :1) Построение графичнных...

Отображение графических примитивов
не подскажите как нарисовать круг, треугольник и домик. Ищу в интернете не как не могу найти(


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru