Behavior: Custom movement tidak secara langsung menerapkan gerakan apapun untuk suatu Object. Sebagai gantinya, ia menyediakan fitur yang mempermudah penerapan gerakan “Custom” (Event-based) Anda sendiri.
Cara gerakan berbeda yang dilakukan tidak terdapat di cakupan bagian manual ini. Sebagai gantinya, ini akan menjelaskan dasar-dasar Behavior: Custom movement dan fitur-fiturnya. Sebagai contoh: gerakan gaya ‘Asteroid’ menggunakan Behavior: Custom movement, lihat contoh Custom movement (Asteroid) di dialog Start.
Pada kebanyakan game, Behavior bawaan (Built-in) seperti Platform dan 8Direction sudah sangat memadai. Menciptakan Behavior yang ada dengan Custom movement harus dihindari, karena membuat gerakan merupkan hal yang sulit dan memakan waktu untuk diterapkan dengan benar. Behavior bawaan (Built-in) telah diuji secara menyeluruh, mungkin memiliki lebih banyak fitur daripada yang Anda bayangkan (seperti pendeteksian lereng/Slope di Platform), dan jauh lebih cepat dan mudah digunakan daripada membuat gerakan Anda sendiri.
Ikhtisar Custom movement
Sebagian besar gerakan dalam Construct 2 bekerja dengan memanipulasi dua nilai: kecepatan pada sumbu X (dx) dan kecepatan pada sumbu Y (dy). Ini juga dikenal sebagai VectorX dan VectorY dalam beberapa Movement Behavior lainnya. Misalnya: jika sebuah Object bergerak ke kiri pada 100 pixel per detik, dx adalah -100 dan dy adalah 0. Object kemudian dapat dipercepat ke kanan dengan menambahkan ke dx. Ini juga bagaimana sebagian besar Movement Behavior lainnya yang dibuat oleh Construct 2 secara internal (seperti Behavior: Platform dan 8Direction).
Behavior: Custom movement menyimpan nilai dx dan dy untuk Anda, dan menyediakan fitur yang membantu dengan mudah menerapkan matematika dan algoritma yang diperlukan untuk melakukan gerakan.
Setiap Tick, Custom movement menyesuaikan posisi Object sesuai dengan nilai dx dan dy. Ini disebut sebuah langkah (Step). Custom movement juga dapat menggunakan Multiple step per Tick, yang dapat membantu mendeteksi tabrakan lebih akurat jika Object bergerak sangat cepat. Setiap langkah akan memicu Condtion: On step, On horizontal step atau On vertical step tergantung pada Property: Stepping mode.
Custom movement Properties
- Stepping mode
Untuk menentukan gerakan pada setiap Tick. Jumlah langkah yang diambil (jika tidak NONE) bergantung pada Property: Pixel per step.
- None
: Langkah Object sekali per Tick berdasarkan kecepatannya (Velocity). - Linear
: Menggerakkan Object dalam garis lurus menuju posisi tujuannya, memicu (Triggering) Condition: On step. - Horizontal then vertical
: Mengarahkan Object ke tujuannya terlebih dahulu pada sumbu X (memicu Condition: On horizontal step), lalu pada sumbu Y (memicu Condition: On vertical step). - Vertical then horizontal
: Mengarahkan Object ke tujuannya terlebih dahulu pada sumbu Y (memicu Condition: On vertical step), lalu pada sumbu X (memicu Condition: On horizontal step). - Pixels per step
: Jika Stepping mode = NONE, ini adalah jarak dalam pixel dari setiap langkah menuju posisi tujuan masing-masing Tick. Default-nya adalah 5, yang berarti jika Object bergerak 20 pixel dalam tanda satu Tick, maka Object akan bergerak dalam 4 langkah kali 5 pixel. - Initial state
Untuk menentukan apakah Behavior awalnya diaktifkan atau dinonaktifkan. Jika Disabled, ini dapat diaktifkan saat Runtime menggunakan Action: Set enabled.
Custom movement Conditions
- Compare speed
Bandingkan kecepatan gerakan saat ini, dalam pixel per detik. Horizontal dan Vertikal dibandingkan dengan kecepatan dx dan dy masing-masing, dan keseluruhannya sama dengan besarnya Vector (dx, dy) (kecepatan pergerakan keseluruhan). - Is moving
TRUE jika salah satu dx atau dy tidak nol. Invert (Balikkan) untuk menguji apakah berhenti. - On horizontal step
- On vertical step
Condition ini dipicu (Triggered) untuk setiap langkah sepanjang sumbu saat Stepping mode adalah Horizontal then vertical atau Vertical then horizontal. Ini bisa digunakan untuk mendeteksi benturan (Collision) secara akurat dengan Condition: Is Overlapping. - On step
Condition ini dipicu untuk setiap langkah saat Stepping mode adalah Linear. Ini bisa digunakan untuk mendeteksi benturan (Collision) secara akurat dengan Conditioin: Is Overlapping.
Custom movement Actions
- Set enabled
Mengaktifkan atau menonaktifkan Behavior. Jika Disabled, Behavior ini tidak akan mengubah posisi Object. - Rotate clockwise
- Rotate counter-clockwise
- Set
Sesuaikan sudut gerak (Angle of motion). Ini akan menghitung nilai baru untuk dx dan dy yang mencerminkan (Reflecting) sudut gerak baru dengan kecepatan keseluruhan yang sama. - Accelerate
Mempercepat gerakan keseluruhan, atau gerakan pada poros (Axis) tertentu. - Accelerate toward Angle
- Accelerate toward position
Mempercepat gerakan menuju suatu sudut (Angle) atau posisi. - Push out solid
Hanya berlaku bila Behavior saat ini tumpang tindih (Overlapping) dengan Object yang Solid. secara otomatis pindahkan Object: Solid tersebut sampai tidak lagi tumpang tindih. Ini tidak berpengaruh jika Object saat ini tidak tumpang tindih yang Solid. Teknik berikut bisa digunakan:
- Opposite Angle
: Membalikkan (Reverses atau Backtracks) Object dari sudut gerak (Angle of motion) saat ini sampai tidak lagi tumpang tindih (Overlapping). - Nearest
: Menggerakkan Object dalam 8 Arah spiral satu pixel pada satu waktu, sampai tidak lagi tumpang tindih (Overlapping). Tujuannya agar Object berakhir di tempat bebas terdekat, tapi karena hanya kedelapan arah yang digunakan, maka akan menjadi perkiraan (Approximation). - Up, Down, Left & Right
: Menggerakkan Object sepanjang sumbu (Axis) tertentu sampai tidak lagi tumpang tindih (Overlapping). - Push out solid at Angle
Hanya berlaku bila Behavior saat ini tumpang tindih (Overlapping) dengan Object yang Solid. Memindahkan Object dari posisi saat ini pada sudut (Angle) yang diberikan sampai tidak lagi tumpang tindih. Ini tidak berpengaruh jika Object saat ini tidak tumpang tindih Object yang Solid. - Reverse
Membalik gerakan dengan membalik tanda-tanda (plus/minus) dx dan dy. - Set speed
Untuk menetapkan kecepatan saat ini dalam pixel per detik, untuk sumbu (Axis) horizontal atau vertikal, atau kecepatan pergerakan keseluruhan. Menetapkan kecepatan horizontal atau vertikal menugaskan dx dan dy secara langsung. Menetapkan kecepatan keseluruhan menghitung nilai baru untuk dx dan dy sehingga mencerminkan kecepatan keseluruhan yang baru sambil mempertahankan sudut gerak (Angle of motion) yang sama. - Stop
Cara pintas untuk mengatur dx dan dy menjadi 0, menghentikan gerakan. - Stop stepping
Hanya berlaku pada Condition: On step, On horizontal step dan On vertical step. Hentikan step saat ini untuk Tick ini. Object bisa kembali ke posisi lamanya (posisi awal Tick) atau bertahan pada posisi saat ini (mungkin setengah jalan antara posisi Start dan End). Perhatikan bahwa mode: Horizontal then vertical atau Vertikal then horizontal, hanya pada Axis saat ini yang terhenti. Sumbu lain masih akan terus melangkah, kecuali jika Anda juga menggunakan Stop stepping untuk sumbu (Axis) itu juga.
Custom movement Expression
- dx
- dy
Untuk mengambil nilai dx dan dy dari pergerakan, yang merupakan kecepatan dalam pixel per detik pada setiap sumbu (Axis). - MovingAngle
Untuk mengambil nilai sudut gerak (Angle of motion) saat ini, dalam derajat, dihitung sebagai sudut vektor (dx, dy). - Speed
Untuk mengambil nilai kecepatan keseluruhan saat ini dalam pixel per detik, dihitung sebagai besarnya vektor (dx, dy).
Komentar
Posting Komentar