Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 28.09.2013
Сообщений: 83
1

Анимация пути. Реализация через код

14.05.2014, 16:59. Показов 1245. Ответов 2
Метки нет (Все метки)

Видел примеры в xaml видел mdsn.
Но так и не смог реализовать в коде.

Киньте пожалуйста простой пример, например движение элипса по прямой.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        Dim animationPath As New PathGeometry()
 
        Dim l As New Line()
        l.X1 = 10
        l.Y1 = 10
        l.X2 = 50
        l.X2 = 50
        animationPath.AddGeometry(l)
 
        Dim el As New Ellipse()
        el.Width = 5
        el.Height = 5
        el.Stroke = Brushes.Green
 
        Dim pa As New PointAnimationUsingPath()
        pa.PathGeometry = animationPath
        pa.Duration = TimeSpan.FromSeconds(5)
 
 
        leftFild.Children.Add(animationPath)
        leftFild.Children.Add(el)
чего не хвататет для работы?

Код на ми, но можно и на с#
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2014, 16:59
Ответы с готовыми решениями:

Анимация пути
Всем привет. Разбираюсь с анимацией и возникла проблема, не могу понять как реализовать одну штуку....

Анимация по пути wpf
Здравствуйте! Хочу сделать анимацию по пути в wpf. Есть PathGeometry по которой должен двигаться...

Реализация волнового алгоритма поиска пути в лабиринте
Люди прошу помощи бьюсь над этой фигнёй уже 3 недели. На форуме впервые прошу не ругать за...

Граф и реализация алгоритмов нахождения кратчайшего пути
Пожалуста,помогите!Как создать граф в для реализации на нем разных алгоримов нахождения кратчайшего...

2
Эксперт Python
4543 / 1969 / 354
Регистрация: 17.03.2012
Сообщений: 9,892
Записей в блоге: 5
15.05.2014, 08:33 2
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Вот, у меня тут завалалось.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            var dx = new DoubleAnimation(20, 100, new Duration(new TimeSpan(0, 0, 4)));
            dx.EasingFunction = new MyCosFunction();
            var dy = new DoubleAnimation(0, 100, new Duration(new TimeSpan(0, 0, 4)));
            dy.EasingFunction = new MySinFunction();
            var dt = new DoubleAnimation(20, 40, new Duration(new TimeSpan(0, 0, 0, 0, 500)));
            dt.RepeatBehavior = RepeatBehavior.Forever;
            dt.AutoReverse = true;
            dt.EasingFunction = new CircleEase(); //new MyThickFunction();
 
            this.movingobj.BeginAnimation(Canvas.LeftProperty, dx);
            this.movingobj.BeginAnimation(Canvas.TopProperty, dy);
            this.movingobj.BeginAnimation(Ellipse.WidthProperty, dt);
            this.movingobj.BeginAnimation(Ellipse.HeightProperty, dt);
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
    class MySinFunction : EasingFunctionBase
    {
        //public MyEasingFunction() : base()
        //{
        //}
 
        protected override double EaseInCore(double normalizedTime)
        {
            // applies the formula of time to the seventh power.
            //return Math.Pow(normalizedTime, 7);
            return Math.Sin(normalizedTime*8);
        }
        // Typical implementation of CreateInstanceCore
        protected override Freezable CreateInstanceCore()
        {
            return new MySinFunction();
        }
    }
    class MyCosFunction : EasingFunctionBase
    {
        public MyCosFunction() : base()
        {
            this.EasingMode = EasingMode.EaseIn;
        }
 
        protected override double EaseInCore(double normalizedTime)
        {
            // applies the formula of time to the seventh power.
            //return Math.Pow(normalizedTime, 7);
            return Math.Cos(normalizedTime*8);
        }
        // Typical implementation of CreateInstanceCore
        protected override Freezable CreateInstanceCore()
        {
            return new MyCosFunction();
        }
    }
Две анимации работают - кружочек двигается по кругу и размер пульсирует, как сердце.
0
1 / 1 / 0
Регистрация: 28.09.2013
Сообщений: 83
15.05.2014, 16:41  [ТС] 3
Спасибо, буду пробовать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2014, 16:41

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

Функции посчитывающие количество вхождений подстроки в строку, реализация через char* и через шаблон
Необходимо реализовать две функции: 1) int SubStrCount(const char *str, const char *subStr);...

Почему при указании пути через имя компа сканирование не проходит, а через IP - проходит?
Всем доброго времени суток, Ситуация такая - Есть 3 компа с Windows 7 на борту (у всех их...

Анимация из FBX в код С++
Доброго вечера уважаемые программисты. Недавно ко мне пришла идея создания проги по типу...

Анимация слайдеров, есть код
Добрый день. Заранее прошу прощения, за возможный не правильный раздел для темы. У меня есть код...

Анимация тени, обьясните код
Обьясните пожалуйста алгоритм создания этой прекрасной анимации. Тут основной алгоритм реализован...


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

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

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