Unity 5: Анимация кубика в 2D игре (Урок 4)

Создание анимации кубика

  1. Создайте папку animations в папке проекта для хранения анимаций.
  2. В Unity выберите Main Cube и перейдите на вкладку Animation (если её нет, откройте её через Window -> Animation).
  3. Нажмите Create, назовите анимацию MCube и сохраните её в папке animations. Удалите дублирующий файл.
  4. В настройках Animation выберите Legacy в Debug Mode. Установите Wrap Mode на Loop для зацикливания анимации.
  5. Удалите автоматически добавленный компонент Animator и добавьте компонент Animation. В поле Animation перетащите созданную анимацию MCube.
  6. Включите Play Automatically.
  7. Создайте новую анимацию для Main Cube, установив ключевые кадры: например, через 15 миллисекунд — первую позицию, через 30 миллисекунд — вторую позицию (выше первой), а затем возвращение в исходную позицию. Экспериментируйте с таймингом и позициями для достижения желаемого эффекта. Измените Wrap Mode на Ping Pong для движения вверх-вниз. Настройте длительность анимации и ключевые кадры для плавного движения кубика. Экспериментируйте с настройками для достижения желаемого визуального эффекта.

Добавление интерактивности кнопкам

  1. Создайте папку CSP Script и в ней скрипт buttons.
  2. В скрипте buttons создайте функции OnMouseDown и OnMouseUp.
  3. В функции OnMouseDown измените transform.localScale кнопок, например, увеличив их на 0.05.
  4. В функции OnMouseUp верните transform.localScale кнопок к исходным значениям.
  5. Добавьте к кнопкам компонент Box Collider для обработки кликов. Настройте размер коллайдера, чтобы он полностью охватывал кнопку. Протестируйте интерактивность кнопок.

Анимация элементов

  1. Создайте скрипт ScrollObs. В нём создайте публичную переменную Speed для скорости движения и приватную переменную RectTransform rec для получения компонента RectTransform.
  2. В функции Start инициализируйте rec, получив компонент RectTransform у кнопки или текста.
  3. В функции Update проверяйте позицию объекта и, если она не равна целевой (CheckPos), изменяйте позицию объекта с помощью rec.offsetMin и rec.offsetMax, используя переменную Speed.
  4. Для корректной работы, предварительно разместите кнопки и текст за пределами экрана. Настройте начальные позиции для кнопок и текста. Проверьте и откорректируйте значения скорости и начальных позиций для плавного появления элементов на экране. Этот скрипт обеспечивает анимацию появления кнопок и текста.
  5. Создайте скрипт TextFade. В нём создайте приватные переменные txt (компонент Text) и oline (компонент Outline).
  6. В функции Start получите компоненты Text и Outline и присвойте их переменным.
  7. В функции Update изменяйте значение альфа-канала цвета текста и обводки (txt.color.a и oline.effectColor.a) с помощью функции Mathf.PingPong, создавая эффект мигания.
  8. Настройте скорость мигания, изменяя делитель в функции Mathf.PingPong. Отрегулируйте альфа-канал обводки для более плавного эффекта мигания. Этот скрипт отвечает за анимацию мигания текста.

В этом уроке мы освоили создание различных анимаций в Unity, включая анимацию объектов, интерактивных элементов и текста. Полученные знания позволят создавать более интересные и динамичные 2D-игры.

Что будем искать? Например,программа