Ada banyak pustaka animasi JavaScript di luar sana, tetapi Anime. js adalah salah satu yang terbaik. Mudah digunakan, memiliki API kecil dan sederhana, dan menawarkan semua yang Anda inginkan dari mesin animasi modern. Pustaka memiliki ukuran file kecil dan mendukung semua browser modern, termasuk IE/Edge 11+ Show Satu-satunya hal yang dapat menghentikan Anda menggunakan Anime. js segera adalah dokumentasinya yang minimal seperti zen. Saya suka pendekatan yang ringkas, terstruktur, dan elegan, tetapi menurut saya penjelasan yang lebih mendetail akan sangat membantu. Saya akan mencoba untuk memperbaiki masalah ini dalam tutorial ini Memulai Dengan Anime. jsUntuk memulai, unduh dan sertakan file 1 di halaman HTML Anda _Sebagai alternatif, Anda dapat menggunakan versi terbaru pustaka yang dihosting di CDN
Sekarang, untuk membuat animasi, kami menggunakan fungsi 2, yang menggunakan objek sebagai argumen. Di objek itu, kami menjelaskan semua detail animasi _Ada beberapa macam properti yang digunakan untuk mendeskripsikan animasi. Mereka dikelompokkan ke dalam empat kategori berbeda
Sekarang mari kita lihat bagaimana penerapannya dalam praktik. Perhatikan contoh berikut
Lihat Pena Catatan. Saya tidak akan membahas bagian kode HTML dan CSS di tutorial. Ini cenderung mudah dipahami tanpa penjelasan tambahan. Anda dapat menemukan dan menjelajahi HTML dan CSS di pena tersemat yang mengikuti setiap contoh Dalam contoh di atas
Anda mungkin memperhatikan bahwa saya tidak menggunakan unit apa pun saat menentukan nilai properti. Itu karena jika nilai aslinya memiliki satuan, maka secara otomatis ditambahkan ke nilai animasi. Jadi, kita dapat menghilangkan unit dengan aman. Namun jika kita ingin menggunakan satuan tertentu kita harus sengaja menambahkannya Mari ciptakan sesuatu yang lebih bermakna Membuat Animasi PendulumDalam contoh ini, kita akan membuat animasi pendulum. Setelah kita "menggambar" pendulum menggunakan keterampilan HTML dan CSS kita, saatnya untuk menghidupkannya
Lihat Pena Dalam animasi ini, kami menggunakan apa yang disebut tipe nilai dari-ke, yang menentukan rentang gerakan untuk animasi. Dalam kasus kami, batang pendulum diputar dari 5 ke 6 derajat. Kami juga menggunakan _7 easing untuk mensimulasikan gerakan alami pendulum yang melambat di puncak dan semakin cepat di bawah. Kami menggunakan opsi _3 lagi untuk memindahkan pendulum di kedua arah dan mengatur parameter 0 ke 0 untuk mengulangi gerakan tanpa hentiBagus sekali. Mari beralih ke contoh berikutnya Membuat Animasi Pengisian Daya BateraiDalam contoh ini, kami ingin membuat ikon animasi pengisian baterai, mirip dengan ikon di ponsel cerdas kami. Ini mudah dilakukan dengan sedikit HTML dan CSS. Berikut adalah kode untuk animasi
Lihat Pena Di sini kita memiliki tiga segmen (elemen 3 hijau) yang meluas (dengan meningkatkan properti 2) satu demi satu. Untuk mencapai efek ini, kita perlu menggunakan penundaan yang berbeda untuk masing-masingnya. Hanya ada satu parameter delay yang bisa kita gunakan untuk animasi, jadi dalam situasi ini, kita akan menggunakan parameter berbasis fungsi yang menghasilkan nilai berbeda untuk setiap target.Untuk melakukannya, alih-alih nilai literal, kami menyediakan fungsi dengan tiga argumen ( 3, 4, dan 5). Dalam kasus kami, fungsi mengembalikan indeks dikalikan dengan 500 milidetik, yang menyebabkan setiap elemen mulai bergerak setengah detik setelah yang sebelumnyaKami juga menggunakan parameter _6 untuk menjeda sejenak sebelum animasi dimulai lagiMeningkatkan Animasi Pengisian BateraiSekarang, animasinya terlihat bagus, tapi mari kita tingkatkan sedikit dengan menambahkan label progres yang menunjukkan persentase biaya. Ini kodenya
Lihat Pena Contoh ini memperkenalkan beberapa fitur pustaka lainnya. Kita akan menjelajahinya satu per satu Pertama, kita membuat variabel 7, yang mereferensikan label dalam HTML. Kemudian kita membuat objek _8 yang menyimpan properti 7. Kemudian, kami membuat dua animasiAnimasi pertama hampir identik dengan contoh sebelumnya, kecuali untuk parameter 7. Di sini kita akan menggunakan Anime. js yang memungkinkan kita menganimasikan banyak elemen sekaligus. Kami menggunakan fungsi _1 untuk ini. Dalam kasus kita, 2 berfungsi seperti parameter berbasis fungsi — ini menambahkan penundaan 50 milidetik sebelum setiap animasi elemenPada animasi kedua, kita menggunakan objek ________13______8 sebagai target. Kemudian kami mengatur properti _7 untuk dianimasikan menjadi 100%. Parameter _5 membulatkan nilai animasi ke atas desimal yang diberikan. Dengan menyetelnya ke 1, kita mendapatkan bilangan bulatSelanjutnya, kami menggunakan dua callback yaitu Anime. penawaran js Untuk mengikat nilai label kemajuan dari HTML dengan nilai kemajuan 8, kami menggunakan panggilan balik 7. Kami juga menggunakan callback 8 untuk menghentikan animasi setelah progres sama dengan 100%, dan kami menggunakan metode 9 untuk menyetel animasi ke keadaan selesaiAkibatnya, animasi pengisian daya akan diputar hingga progres menjadi 100%, lalu akan berhenti dan memaksa segmen ke status animasi akhir. Ikon akan muncul sebagai terisi penuh Membuat Animasi Lebih Kompleks Dengan KeyframesHingga saat ini, kita telah berurusan dengan animasi satu langkah yang memindahkan objek dari A ke B. Tapi bagaimana dengan memindahkannya dari A ke B ke C ke D? Dalam contoh berikutnya, kita akan mempelajari cara menggunakan keyframe properti untuk membuat animasi multi-langkah. Kami akan memindahkan kotak sederhana di sekitar yang lain yang berfungsi sebagai kotak
Lihat Pena Pertama, kami membuat referensi ke elemen kotak. Kami menggunakannya dalam panggilan balik 0 dan 8 untuk "membuka" kotak pada awal animasi dan "menutup" pada akhir animasi. Mari jelajahi bagaimana kita memindahkan kotak lainnya — kontennyaUntuk setiap properti yang ingin kita animasikan, kita menggunakan larik objek di mana setiap objek menjelaskan keyframe tertentu Dalam kasus kami, kami ingin memindahkan kotak secara vertikal dan horizontal. Jadi kami menggunakan properti 2 dan 3 dan kami menyediakan array keyframes untuk masing-masingnya. Trik untuk membuat gerakan yang tepat adalah dengan menghitung parameter 6 dan 7 dengan benar — yang bisa rumitFrame dieksekusi dari atas ke bawah dan dimulai secara bersamaan untuk setiap properti yang memiliki array keyframe tertentu. Setelah dimulai, bagaimana perjalanan akan dilanjutkan tergantung sepenuhnya pada cara parameter 6 dan 7 ditetapkan. Selamat menghitungHasil dari animasi kita adalah kotak keluar dari kotak, membuat orbit penuh di sekelilingnya, lalu masuk ke dalam lagi Membuat Efek TeksKami telah melihat contoh mengejutkan di atas, dan sekarang kami akan mengeksplorasi penggunaan lebih lanjut. Kami akan menggunakan mengejutkan untuk membuat efek teks yang keren
Lihat Pena Kami telah menempatkan setiap huruf di dalam elemen 8. Dalam kode animasi, kami memilih semua huruf, membuatnya terlihat, dan memindahkannya 50 piksel ke bawahKemudian, kami memutar huruf dengan menggunakan parameter properti tertentu yang menentukan parameter tertentu untuk properti tertentu. Ini memberi kita kontrol yang lebih rinci atas animasi. Di sini, huruf akan diputar 360 derajat dalam dua detik dengan menerapkan 9 easingDalam dua properti berikutnya, kami menggunakan fungsi 0. Kami mengatur skala untuk didistribusikan secara merata dari 0. Opasitas 7 hingga 1 (menggunakan tipe nilai rentang), mulai dari tengah (menggunakan opsi posisi awal). Ini membuat huruf lebih kecil di tengah kalimat dan lebih besar di kedua ujungnyaKami mengatur animasi untuk menunggu satu detik sebelum dimulai (dengan menentukan nilai awal), dan kemudian penundaan 100 milidetik ditambahkan secara relatif untuk setiap huruf Kami sengaja menambahkan properti 3 di bagian akhir untuk menciptakan efek yang diinginkan, yaitu memutar huruf dalam gerakan spiralMembuat Animasi dengan Garis WaktuGaris waktu memungkinkan Anda memanipulasi beberapa animasi secara bersamaan. Mari kita jelajahi contoh sederhana
Lihat Pena Dalam contoh ini, kami membuat pemintal bola Untuk membuat garis waktu, kami menggunakan fungsi ________32______2. Kemudian kami menentukan parameter umum yang diwariskan untuk semua animasi yang ditambahkan Untuk menambahkan animasi ke garis waktu, kami menggunakan metode 3, lalu kami mendeskripsikan animasi dengan cara yang sama seperti yang telah kami bahasDalam contoh kami, kami menambahkan tiga animasi, satu untuk setiap bola. Hasilnya adalah setiap bola naik dan turun satu per satu Masalahnya, dalam bentuk dasar ini, animasi terkesan sangat statis. Mari kita ubah itu Secara default, setiap animasi dimulai setelah animasi sebelumnya berakhir. Tapi kita bisa mengontrol perilaku ini dengan menggunakan time offset. Selain itu, jika kita ingin membuat animasi lebih fleksibel dan kompleks, kita harus menggunakan keyframe animasi. Mari kita lihat bagaimana penerapannya dalam contoh berikut 0Lihat Pena Di sini, kami menghapus parameter _9, karena kami menggunakan keyframe untuk mencapai gerakan bolak-balik. Kami mendefinisikan keyframe animasi dengan menambahkan parameter 5. Seperti keyframe properti, setiap objek dari array adalah keyframeUntuk membuat bola bergerak mulus, kami menggunakan waktu offset yang ditentukan sebagai parameter kedua untuk fungsi 3. Dalam kasus kami, kami menggunakan nilai relatif terhadap animasi sebelumnyaHasilnya adalah animasi pemintal bola yang mulus KesimpulanSaya harap Anda mendapatkan pemahaman Anime yang jauh lebih baik. js. Untuk melanjutkan pembelajaran Anda dengan pengetahuan dasar ini, saya sarankan untuk melihat dokumentasinya Anime. js adalah mesin animasi sederhana namun kuat yang dapat digunakan untuk membuat berbagai macam animasi. Biarkan imajinasi Anda menjadi liar Bagikan artikel iniIvaylo Gerchev Saya seorang pengembang/perancang web dari Bulgaria. Teknologi web favorit saya termasuk SVG, HTML, CSS, Tailwind, JavaScript, Node, Vue, dan React. Saat saya tidak memprogram Web, saya suka memprogram realitas saya sendiri ;) |