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

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

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

Студворк — интернет-сервис помощи студентам
Доброго времени суток,нужна помощь в написании приложения основанного на графике!
На форме лежит только 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.04.2017, 14:10
Ответы с готовыми решениями:

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

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

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

4
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
01.04.2017, 20:19
Лучший ответ Сообщение было отмечено 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  [ТС]
Sanya_sa, Ругается на строки 8 и 48
Картинку имортировал в resourses.resx ну там где картинки храняться
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
01.04.2017, 20:47
Лучший ответ Сообщение было отмечено Jonyc33 как решение

Решение

Вот
Вложения
Тип файла: rar Boomerang.rar (73.2 Кб, 647 просмотров)
2
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
01.04.2017, 21:38  [ТС]
Sanya_sa, отлично реализация на высшем уровне
Благодарю за помощь,если будет возможность и время, строчки заполнить слэшами и объяснить что к чему в них!
А то реализация уровнем выше моего, и без объяснения кода мне врядли получиться её сдать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.04.2017, 21:38
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru