none
Анимация. Линии Безъе RRS feed

  • Вопрос

  • Здравствуйте. Создал фигуру:

     <Canvas>
                    <Path x:Name="XXX" Fill="#ffff0000" Data="F1 M 66.755,307.234 L 50.263,307.234 C 50.263,307.234 -62.829,114.150 50.263,2.150 C 53.193,-0.751 69.753,-0.681 66.755,2.150 C -51.829,114.150 66.755,307.234 66.755,307.234 Z"/>    
                </Canvas>

    И анимацию к ней:

    <Storyboard x:Key="MovePointDown" AutoReverse="True">
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[1].(BezierSegment.Point1)" Duration="00:00:01" To="0.097,307.234"/>
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[1].(BezierSegment.Point2)" Duration="00:00:01" To="-62.829,114.150"/>
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[1].(BezierSegment.Point3)" Duration="00:00:01" To="0.097,2.893"/>
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[2].(BezierSegment.Point1)" Duration="00:00:01" To="67.672,143.893"/>
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[2].(BezierSegment.Point2)" Duration="00:00:01" To="16.589,307.234"/>
                <PointAnimation Storyboard.TargetName="XXX" Storyboard.TargetProperty="(Path.Data).(PathGeometry.Figures)[0].(PathFigure.Segments)[2].(BezierSegment.Point3)" Duration="00:00:01" To="16.589,307.234 "/>
            </Storyboard>

    Вылетает ошибка: Свойство "[Unknown]" не указывает на DependencyObject в пути "(0).(1).[0].(2).[1].(3)".

    В чём проблема. Если у кого есть примеры создание линий Безье и выполнение с ними анимации в коде, выложите, пожалуйста, или дайте ссылки на ресурсы. Спасибо.



    5 апреля 2011 г. 8:10

Ответы

  • У вас линия создана в Expression Blend? Такое описание линии не удастся анимировать. Вам нужно описать линию, используя xaml и такие элементы, как LineSegment, QuadraticBezierSegment... Видеоурок и пример анимации можно посмотреть здесь - Use PointAnimation to Animate a Path in WPF, там же можно скачать исходные коды и посмотреть все в действии.


    Для связи [mail]
    • Помечено в качестве ответа Serdceder 7 апреля 2011 г. 7:56
    6 апреля 2011 г. 11:56

Все ответы

  • У вас линия создана в Expression Blend? Такое описание линии не удастся анимировать. Вам нужно описать линию, используя xaml и такие элементы, как LineSegment, QuadraticBezierSegment... Видеоурок и пример анимации можно посмотреть здесь - Use PointAnimation to Animate a Path in WPF, там же можно скачать исходные коды и посмотреть все в действии.


    Для связи [mail]
    • Помечено в качестве ответа Serdceder 7 апреля 2011 г. 7:56
    6 апреля 2011 г. 11:56
  • Нет, в Illustrator-е, а потом экспорт. Жаль, я думал мини-язык этот же xaml, только мини) Такие примеры я уже находил, лень было переделывать, тем более анимацию нужно изменять в каждой координатной части. Спасибо за пример.
    7 апреля 2011 г. 7:56