Создание анимации кубика
- Создайте папку animations в папке проекта для хранения анимаций.
- В Unity выберите Main Cube и перейдите на вкладку Animation (если её нет, откройте её через Window -> Animation).
- Нажмите Create, назовите анимацию MCube и сохраните её в папке animations. Удалите дублирующий файл.
- В настройках Animation выберите Legacy в Debug Mode. Установите Wrap Mode на Loop для зацикливания анимации.
- Удалите автоматически добавленный компонент Animator и добавьте компонент Animation. В поле Animation перетащите созданную анимацию MCube.
- Включите Play Automatically.
- Создайте новую анимацию для Main Cube, установив ключевые кадры: например, через 15 миллисекунд — первую позицию, через 30 миллисекунд — вторую позицию (выше первой), а затем возвращение в исходную позицию. Экспериментируйте с таймингом и позициями для достижения желаемого эффекта. Измените Wrap Mode на Ping Pong для движения вверх-вниз. Настройте длительность анимации и ключевые кадры для плавного движения кубика. Экспериментируйте с настройками для достижения желаемого визуального эффекта.
Добавление интерактивности кнопкам
- Создайте папку CSP Script и в ней скрипт buttons.
- В скрипте buttons создайте функции OnMouseDown и OnMouseUp.
- В функции OnMouseDown измените transform.localScale кнопок, например, увеличив их на 0.05.
- В функции OnMouseUp верните transform.localScale кнопок к исходным значениям.
- Добавьте к кнопкам компонент Box Collider для обработки кликов. Настройте размер коллайдера, чтобы он полностью охватывал кнопку. Протестируйте интерактивность кнопок.
Анимация элементов
- Создайте скрипт ScrollObs. В нём создайте публичную переменную Speed для скорости движения и приватную переменную RectTransform rec для получения компонента RectTransform.
- В функции Start инициализируйте rec, получив компонент RectTransform у кнопки или текста.
- В функции Update проверяйте позицию объекта и, если она не равна целевой (CheckPos), изменяйте позицию объекта с помощью rec.offsetMin и rec.offsetMax, используя переменную Speed.
- Для корректной работы, предварительно разместите кнопки и текст за пределами экрана. Настройте начальные позиции для кнопок и текста. Проверьте и откорректируйте значения скорости и начальных позиций для плавного появления элементов на экране. Этот скрипт обеспечивает анимацию появления кнопок и текста.
- Создайте скрипт TextFade. В нём создайте приватные переменные txt (компонент Text) и oline (компонент Outline).
- В функции Start получите компоненты Text и Outline и присвойте их переменным.
- В функции Update изменяйте значение альфа-канала цвета текста и обводки (txt.color.a и oline.effectColor.a) с помощью функции Mathf.PingPong, создавая эффект мигания.
- Настройте скорость мигания, изменяя делитель в функции Mathf.PingPong. Отрегулируйте альфа-канал обводки для более плавного эффекта мигания. Этот скрипт отвечает за анимацию мигания текста.
В этом уроке мы освоили создание различных анимаций в Unity, включая анимацию объектов, интерактивных элементов и текста. Полученные знания позволят создавать более интересные и динамичные 2D-игры.