2015-08-12 6 views
0

Я просто хотел узнать, как вы переходите UnityEngine.UI из одного положения в другое плавно?Unity - Как оживить текст пользовательского интерфейса?

Мой текущий код заключается в следующем:

GameObject rank1; 
GameObject rankSlot1; 

rank1 = GameObject.Find("Rank1"); 
rankSlot1 = GameObject.Find("RankSlot1"); 

rank1.transform.position = new Vector3(Mathf.Lerp (rank1.transform.position.x, rankSlot1.transform.position.x, 0.1f), rankSlot1.transform.position.y, 0); 

Но похоже на Mathf.Lerp не работает:/

Спасибо!

EDIT: Все эти GameObjects действительно имеют Rect Transform, поскольку они являются детьми Canvas

ответ

1

Это зависит от того, где вы используете Lerp? Вы называете это один раз? или в Update(). Вызов обновления с правильными параметрами должен работать.

Рядом Lerp, вы можете использовать компонент Animator с кривыми положения для перемещения из одной точки в другую.

Существует еще один вариант использования плагина LeanTween, это бесплатный плагин для магазина активов.

LeanTween.move(gameObject, yourFinalPosition, duration); 
+0

Привет там, я звоню его на' Start' метод. Должен ли я добавить его в «Обновление»? Я не могу использовать 'Animator', потому что мой объект должен анимировать себя в разных местах. Наконец, я не хочу использовать плагин. Спасибо :) – Jim

+0

Тогда попробуйте это в 'Update'. 'Start' вызывает только один раз. 'Update' вызывает каждый кадр, поэтому изменение параметра будет выполняться по фрейму. – NeverHopeless

+0

Он работает внутри 'Update'! Мне любопытно, как это делает Math.Lerp? Как будто он знает, где он ушел из предыдущего кадра. Я просто новорожденный. В любом случае, спасибо, брат! EDIT: IDK как отметить комментарий как правильный ответ, поэтому я просто отметил весь ответ – Jim

0

При использовании мультипликатора вы получите доступ к кривым анимации, так что вы можете получить действительно хорошую управлять анимацию Tricky части, если вы желаете, чтобы использовать «применить корень движение» (есть анимация запуск, где они вместо фиксированных позиций) вам нужно применить его к чему-то, что считается ROOT: - создать пустой игровой объект - с нормальным преобразованием - родительский холст с текстом в этот новый игровой объект - примените анимацию к трансформации игрового объекта (не UI rectTransform) - в анимации в инспекторе вы должны теперь нажать «генерировать кривые движения корня», а также выбрать «применить корень mot Флажок иона»для Аниматор

надеюсь, что это помогает ,, потребовалось несколько часов, чтобы получить работу :) Я использовал это, чтобы всплыть повреждения противника текст отображается

Смежные вопросы