Способность стать новым фаворитом должна иметь свою уникальность, так что же такое Лотти?
Прежде чем я свяжусь с Лотти, мне нужно выполнить очень сложные расчеты, чтобы сделать классный анимационный эффект.Ну, это очень сложно для меня, который не силен в таких сложных расчетах, но с этого момента сделать анимацию легко
1. Знакомство с лотереей
Lottie— это библиотека iOS, Android и React Native, которая визуализирует анимацию After Effects в режиме реального времени и позволяет родным приложениям использовать анимацию так же легко, как и статические ресурсы. Лотти использует имяBodymovinРасширение After Effects с открытым исходным кодом экспортирует данные анимации в формат файла JSON. Проще говоря, он использует анимационные данные в формате json для рендеринга на страницу, это так просто, в официальных документах есть много небольших демонстраций, таких как👇
2. Может ли Лотти помочь нам?
Ответ: да, во-первых, студенты-дизайнеры разработали анимационный эффект в Adobe After Effects.Через плагин bodymovin анимацию можно экспортировать в файл json.
Затем разработчики могут преобразовать ранее сгенерированный файл json в анимационный эффект с помощью Lottie.Таким образом, многие сложные анимационные эффекты могут быть эффективно реализованы.
Это выглядит очень технически, не волнуйтесь, давайте сделаем это тоже
3. Лотти экземпляр
- Первый шаг — установить vue-cli для создания базового экземпляра vue.
npm install -g vue-cli
vue init webpack test // Создаем файл с именем test
- Второй шаг — установить vue-lottie
npm install --save vue-lottie
- Третий шаг - импортировать его в свой файл, конечно, вы также можете импортировать его глобально
import Lottie from 'vue-lottie'
- Четвертый шаг — импорт файла json.
Этот шаг очень важен.От него зависит успех или неудача вашей анимации.Выполняя упражнения, вы можете перейти на официальный сайт, чтобы найти понравившуюся анимацию, а затем скачать ее.
импортировать в свой файл, как это
import * as animationData from './assets/pumped_up.json'
- Пятым шагом начал делать анимацию.
<lottie :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/>
В отличие от холста, у него должен быть свой метод
data () {
return {
defaultOptions: { animationData: animationData },
animationSpeed: 1,
anim: {}
}
},
methods: {
handleAnimation (anim) {
this.anim = anim
}
}
Если вы хотите добавить кнопку паузы, кнопку запуска и так далее, просто напишите так👇
<template>
<div id="app">
<lottie :options="defaultOptions" :height="400" :width="400" v-on:animCreated="handleAnimation"/>
<div>
<p>Speed: x{{animationSpeed}}</p>
<input
type="range"
value="1"
min="0"
max="3"
step="0.5"
v-on:change="onSpeedChange"
v-model="animationSpeed">
</div>
<button @click="stop">stop</button>
<button @click="pause">pause</button>
<button @click="play">play</button>
</div>
</template>
<script>
import Lottie from 'vue-lottie'
import * as animationData from './assets/pumped_up.json'
export default {
name: 'app',
components: { 'lottie': Lottie },
data () {
return {
defaultOptions: { animationData: animationData },
animationSpeed: 1,
anim: {}
}
},
methods: {
handleAnimation (anim) {
this.anim = anim
},
// 停止动画
stop () {
this.anim.stop()
},
// 开始动画
play: function () {
this.anim.play()
},
// 暂停动画
pause: function () {
this.anim.pause()
},
// 动画速度
onSpeedChange () {
this.anim.setSpeed(this.animationSpeed)
}
}}
</script>
Что ж, пора посмотреть на эффект👇 (признаю, что эта анимация немного некрасивая, но поверьте, эффект от бега действительно хорош👍)
- Шаг 6 Спасибо за высокую оценку
Вышеупомянутый случай очень простой? Я не знаю, позволит ли этот новый обмен получить дверь в новый мир. Во всяком случае, я испытал это. Если вы хотите сделать более крутой эффект, вы можете изучить его внимательно ☺️
Наконец, адрес с открытым исходным кодом прилагается:
- Android: адрес Android
- iOS:iOS-адрес
- Реагировать родной:Реагировать Собственный адрес
- лотти-веб-адрес:GitHub.com/air не NB/Lott…