Как оживить полилинию вдоль ее пути [дубликат]

Буквально самый простой способ исправить NullReferenceExeption имеет два пути. Если у вас есть GameObject, например, с прикрепленным скриптом и переменной с именем rb (rigidbody), эта переменная начнет пустую, когда вы начнете игру. Вот почему вы получаете NullReferenceExeption, потому что на компьютере нет данных, хранящихся в этой переменной.

В качестве примера я буду использовать переменную RigidBody. Мы можем добавить данные действительно легко на самом деле несколькими способами:

  1. Добавить RigidBody к вашему объекту с помощью AddComponent> Физика> Rigidbody Затем зайдите в свой скрипт и введите rb = GetComponent<Rigidbody>();. Эта строка кода работает лучше всего под ваши функции Start() или Awake().
  2. Вы можете добавить компонент программно и назначить переменную одновременно с одной строкой кода: rb = AddComponent<RigidBody>();

Дальнейшие заметки: если вы хотите, чтобы единство добавлялось компонент для вашего объекта, и вы, возможно, забыли добавить его, вы можете ввести [RequireComponent(typeof(RigidBody))] над объявлением класса (пробел ниже всех ваших приложений). Наслаждайтесь и получайте удовольствие от игр!

1
задан H.B. 1 November 2011 в 14:17
поделиться

2 ответа

Невозможно из коробки, насколько мне известно, поскольку вы пытаетесь оживить Point в пределах PointCollection. Что вам действительно нужно, это PointCollectionAnimation, который WPF не предоставляет. Тем не менее, удивительный Чарльз Петцольд написал эту статью некоторое время назад, показывая вам, как вы можете это сделать.

2
ответ дан Kent Boogaart 27 August 2018 в 09:57
поделиться

Поскольку ссылка, упомянутая в принятом ответе, больше не работает, поэтому я отправляю свой подход.

<Path Stroke="Red">
            <Path.Data>
                <GeometryGroup>
                    <LineGeometry x:Name="G1" StartPoint="100,100" EndPoint="100,0"/>
                </GeometryGroup>
            </Path.Data>
            <Path.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <BeginStoryboard>
                        <Storyboard>                            
                            <PointAnimationUsingPath Storyboard.TargetName="G1" Storyboard.TargetProperty="EndPoint">
                                <PointAnimationUsingPath.PathGeometry>
                                    <PathGeometry Figures="M 100,0 C 150,50 200,75 250, 100" />
                                </PointAnimationUsingPath.PathGeometry>
                            </PointAnimationUsingPath>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Path.Triggers>
        </Path>
0
ответ дан AnjumSKhan 27 August 2018 в 09:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: