Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JavaScript
Code

Memulai dengan Mojs animasi Perpustakaan: modul bentuk

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Getting Started with Mojs Animation Library.
Getting Started With the Mojs Animation Library: The HTML Module
Getting Started With the Mojs Animation Library: The ShapeSwirl and Stagger Modules

Indonesian (Bahasa Indonesia) translation by Rohmat Trimanto (you can also view the original English article)

Dalam tutorial sebelumnya, kami menggunakan mojs untuk menganimasikan elemen HTML yang berbeda pada halaman web. Kami menggunakan perpustakaan untuk menganimasikan elemen div yang tampak seperti kotak atau lingkaran. Namun, Anda dapat menggunakan modul Html untuk menganimasikan semua jenis elemen seperti gambar atau judul. Jika Anda benar-benar berniat untuk menganimasikan bentuk dasar menggunakan mojs, Anda mungkin harus menggunakan modul Shape dari perpustakaan.

Modul Shape memungkinkan Anda untuk membuat bentuk dasar di DOM menggunakan SVG. Yang harus Anda lakukan adalah menentukan jenis bentuk yang ingin Anda buat, dan mojs akan mengurus sisanya. Modul ini juga memungkinkan Anda untuk menganimasikan berbagai bentuk yang Anda buat.

Dalam tutorial ini, kita akan membahas dasar-dasar modul Shape dan bagaimana Anda dapat menggunakannya untuk membuat berbagai bentuk dan menganimasikannya.

 Menciptakan Bentuk dalam Mojs

Anda perlu instantiate objek Shape mojs untuk membuat bentuk yang berbeda. Objek ini akan menerima parameter berbeda yang dapat digunakan untuk mengontrol warna, ukuran, sudut, dll. Dari bentuk yang Anda buat.

Secara default, setiap bentuk yang Anda buat akan menggunakan badan dokumen sebagai induknya. Anda dapat menentukan elemen lain apa pun sebagai induknya menggunakan properti parent.  Anda juga dapat menetapkan kelas ke bentuk apa pun yang Anda buat dengan bantuan properti className. Perpustakaan tidak akan menetapkan kelas default apa pun jika Anda melewatkan properti ini.

Mojs memiliki delapan bentuk berbeda yang dibangun agar Anda dapat membuatnya secara langsung dengan menetapkan nilai untuk properti shape. Anda dapat mengatur nilainya ke circle untuk membuat lingkaran, rect untuk membuat persegi panjang, dan polygon untuk membuat poligon. Anda juga dapat menggambar garis lurus dengan mengatur nilai shape menjadi lines. Perpustakaan akan menggambar dua garis tegak lurus jika nilai shape adalah cross dan sejumlah garis sejajar jika shape adalah equal. Demikian pula, garis zig-zag dapat dibuat dengan menyetel nilai properti ke zigzag.

Objek bentuk juga memiliki properti points yang memiliki arti berbeda untuk berbagai bentuk. Ini menentukan jumlah total sisi dalam polygon dan jumlah total garis paralel dalam bentuk yang equal. Properti points juga dapat digunakan untuk mengatur jumlah tikungan dalam garis zig-zag.

Seperti yang saya sebutkan sebelumnya, mojs menciptakan semua bentuk ini menggunakan SVG. Ini berarti bahwa objek Shape juga akan memiliki beberapa properti khusus SVG untuk mengontrol tampilan bentuk-bentuk ini. Anda dapat mengatur warna isi bentuk mojs menggunakan properti fill. Ketika tidak ada warna yang ditentukan, perpustakaan akan menggunakan warna deeppink untuk mengisi bentuk. Demikian pula, Anda dapat menentukan warna guratan untuk bentuk menggunakan properti stroke. Ketika tidak ada warna stroke yang ditentukan, mojs membuat stroke menjadi transparan. Anda dapat mengontrol fill dan opasitas guratan untuk bentuk menggunakan sifat fillOpacity dan strokeOpacity. Mereka dapat memiliki nilai antara 0 dan 1.

Mojs memungkinkan Anda untuk mengontrol sifat lain yang terkait dengan stroke dari suatu bentuk juga. Misalnya, Anda dapat menentukan pola tanda pisah dan celah di jalur stroke menggunakan properti strokeDasharray. Properti ini menerima string dan angka sebagai nilai yang valid. Nilai standarnya adalah nol, yang berarti bahwa stroke akan menjadi garis yang solid. Lebar stroke dapat ditentukan menggunakan properti strokeWidth. Semua sapuan akan menjadi lebar 2 piksel secara default. Bentuk garis yang berbeda pada titik akhirnya dapat ditentukan menggunakan properti strokeLinecap. Nilai yang valid untuk strokeLinecap adalah butt, round, dan squqre.

Setiap bentuk yang Anda buat ditempatkan di pusat elemen induknya secara default. Ini karena properti left dan right untuk bentuk ditetapkan hingga 50% masing-masing.  Anda dapat mengubah nilai properti ini untuk menempatkan elemen di lokasi yang berbeda. Cara lain untuk mengontrol posisi bentuk adalah dengan bantuan properti x dan y. Mereka menentukan berapa banyak bentuk harus bergeser dalam arah horizontal dan vertikal masing-masing.

Anda dapat menentukan radius bentuk menggunakan properti radius. Nilai ini digunakan untuk menentukan ukuran bentuk tertentu. Anda juga dapat menggunakan radiusX dan radiusY untuk menentukan ukuran bentuk dalam arah tertentu. Cara lain untuk mengendalikan ukuran bentuk adalah dengan bantuan properti scale. Nilai scale default adalah 1, tetapi Anda dapat mengaturnya ke nomor lain yang Anda sukai. Anda juga dapat mengukur bentuk dalam arah tertentu menggunakan properti scaleX dan scaleY.

Asal muasal semua transformasi bentuk ini adalah pusatnya secara default. Misalnya, jika Anda memutar bentuk apa pun dengan menentukan nilai untuk properti angle, bentuk akan berputar di sekitar pusatnya. Jika Anda ingin memutar bentuk di sekitar titik lain, Anda dapat menentukannya menggunakan properti origin. Properti ini menerima string sebagai nilainya. Menyetelnya ke '0% 0%' akan memutar, menskalakan, atau menerjemahkan bentuk di sekitar sudut kiri atas. Demikian pula, pengaturannya ke '50% 0%'akan memutar, menskala, atau menerjemahkan bentuk di sekitar pusat tepi atasnya.

Anda dapat menggunakan semua properti yang baru saja kita diskusikan untuk membuat berbagai macam bentuk. Berikut beberapa contohnya:

Bentuk yang dibuat oleh kode di atas ditunjukkan dalam demo CodePen di bawah ini:

Bentuk Animasi dalam Mojs

Anda dapat menganimasikan hampir semua properti bentuk yang kita diskusikan di bagian sebelumnya. Misalnya, Anda dapat menganimasikan jumlah titik dalam poligon dengan menentukan nilai awal dan akhir yang berbeda. Anda juga dapat menganimasikan asal bentuk dari '50% 50%' ke nilai lain seperti '75% 75%'. Properti lain seperti angle dan scale berperilaku seperti yang mereka lakukan dalam modul Html.

Durasi, penundaan, dan kecepatan berbagai animasi dapat dikontrol menggunakan duration, delay, dan speed masing-masing. Properti pengulangan juga berfungsi seperti yang dilakukannya dalam modul Html. Anda dapat mengaturnya ke 0 jika Anda ingin memainkan animasi hanya sekali. Demikian pula, Anda dapat mengaturnya ke 3 untuk memainkan animasi 4 kali. Semua nilai pelonggaran yang valid untuk modul Html juga berlaku untuk modul Shape.

Satu-satunya perbedaan antara kemampuan animasi kedua modul ini adalah Anda tidak dapat menentukan parameter animasi secara individual untuk properti di modul Shape. Semua properti yang Anda animasikan akan memiliki durasi, penundaan, pengulangan yang sama, dll.

Berikut ini contoh di mana kita menganimasikan posisi x, skala dan sudut lingkaran:

Salah satu cara untuk mengontrol pemutaran animasi yang berbeda adalah dengan menggunakan metode .then () untuk menentukan kumpulan properti baru agar dianimasikan setelah urutan animasi pertama selesai sepenuhnya. Anda dapat memberikan semua properti animasi nilai awal dan akhir baru di dalam .then (). Berikut ini contohnya:

Pikiran Akhir

Dalam tutorial ini, kami belajar cara membuat berbagai bentuk menggunakan mojs dan cara menganimasikan properti bentuk-bentuk ini.

Modul shape memiliki semua kemampuan animasi dari modul Html. Satu-satunya perbedaan adalah bahwa properti tidak dapat di-animasikan secara individual. Mereka hanya dapat dianimasikan sebagai grup. Anda juga dapat mengontrol pemutaran animasi dengan menggunakan metode yang berbeda untuk memutar, menjeda, menghentikan, dan melanjutkan animasi di titik mana pun. Saya membahas metode ini secara detail di tutorial pertama dari seri ini.

Jika Anda memiliki pertanyaan terkait tutorial ini, jangan ragu untuk mengirim komentar. Dalam tutorial berikutnya, Anda akan belajar tentang modul ShapeSwirl dan stagger dalam mojs.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.