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

Анимация движущегося бумеранга

01.04.2017, 14:10. Показов 11353. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток,нужна помощь в написании приложения основанного на графике!
На форме лежит только timer!
Задачи:
1)Нарисовать бумеранг(подобие);(выполнено в коде)
2)Сделать перемещение бумеранга,желательно,чтобы бумернг крутился
Вот мой код нарисованного бумернга и позиции его начала и конца,но как реализовать через таймер кручение бумернга в C# немогу понять.
Знаний Graphic и Timer на уровне 2-ух крутящихся стрелок,подобие часов!
Вот собственно код
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
   //    
        private Point point1, point2, point3, point4, point5, point6;
        private double a;
         private  SolidBrush blackBrush = new SolidBrush(Color.Black);
        private void Form1_Paint(object sender, PaintEventArgs e)
        { Graphics g = e.Graphics;
            Point[] Points =
             {  point1, point2, point3,point4, point5, point6
             };
            g.FillPolygon(blackBrush, Points);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            a = 0;
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            a -= 0.01;
            // первое положение
            point1 = new Point(50, 10); 
            point2 = new Point(70, 30);
            point3 = new Point(100, 50);
            point4 = new Point(70, 70);
            point5 = new Point(50, 90);
            point6 = new Point(70, 50);
            
            //куда должно переместиться
            point1 = new Point(250, 210);
            point2 = new Point(270, 230);
            point3 = new Point(300, 250);
            point4 = new Point(270, 270);
            point5 = new Point(250, 290);
            point6 = new Point(270, 250);
 
           Invalidate();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2017, 14:10
Ответы с готовыми решениями:

Анимация движущегося шара
В общем задание состоит в движении некого шара вдоль краёв формы. Реализовано четыре таймера,...

Программа анимации летающего бумеранга
Разработайте программу анимации летающего бумеранга.

Простая анимация движущегося объекта во флэше
Доброе утро, форумчане. Помогите решить проблему. Есть большая фотография 1.jpg, и на ее фоне...

Как правильно сделать анимацию летающего бумеранга?
Здравствуйте. Задача заключается в том чтобы сделать анимацию летающего бумеранга. Как сделать так...

4
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
01.04.2017, 20:19 2
Лучший ответ Сообщение было отмечено Jonyc33 как решение

Решение

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
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;
 
namespace Boomerang
{
    public partial class MainForm : Form
    {
        PointF posB = new PointF();
        float R = 600;
        PointF Center = new PointF(700, 700);
        float Ang = 0f;
        float RotAng = 0f;
 
 
        public MainForm()
        {
            InitializeComponent();
 
            var t = new Timer();
            t.Interval = 50;
            t.Enabled = true;
            t.Tick += (s, o) =>  { MoveB(); };
        }
 
        private void MoveB()
        {
            RotAng += 20f;
 
            Ang += 0.1f;
            var x = Center.X + R * (float)Math.Cos(Ang);
            var y = Center.Y + R * (float)Math.Sin(Ang);
            posB = new PointF(x, y);
 
            Invalidate();
        }
 
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.TranslateTransform(posB.X / 2, posB.Y / 2);
            e.Graphics.RotateTransform(RotAng);
            e.Graphics.DrawImage(Res.bu, new PointF(-Res.bu.Width / 2, -Res.bu.Height / 2));
        }
    }
}
Миниатюры
Анимация движущегося бумеранга  
1
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
01.04.2017, 20:45  [ТС] 3
Sanya_sa, Ругается на строки 8 и 48
Картинку имортировал в resourses.resx ну там где картинки храняться
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
01.04.2017, 20:47 4
Лучший ответ Сообщение было отмечено Jonyc33 как решение

Решение

Вот
Вложения
Тип файла: rar Boomerang.rar (73.2 Кб, 633 просмотров)
2
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
01.04.2017, 21:38  [ТС] 5
Sanya_sa, отлично реализация на высшем уровне
Благодарю за помощь,если будет возможность и время, строчки заполнить слэшами и объяснить что к чему в них!
А то реализация уровнем выше моего, и без объяснения кода мне врядли получиться её сдать
0
01.04.2017, 21:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2017, 21:38
Помогаю со студенческими работами здесь

Создание движущегося фона
Доброго времени суток! Я бы хотел создать фон, как в игре Flappy Bird, то есть он должен двигаться...

Прорисовка движущегося объекта
Я в этом деле новичок,и возможно для вас проблемы будут глупыми,но я сам справиться не могу.. ...

Формирование движущегося изображения
Помогите пожалуйста,разработать программу для формирования движущегося изображения которая должна:...

Создание движущегося 3D текста
Доброго времени суток!!) Собственно интересует как сие создаётся в С++ билдере...мне всё равно как...


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

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