Dalam Construct 2, Family adalah kelompok Object Type. Semua Object Type dalam Family harus berasal dari Plugin yang sama, misalnya: semua Object: Sprite (dan bukan gabungan Object Sprite dan Tiled Background).
Family dapat membantu Anda menghindari Event berulang. Misalnya: daripada memiliki Event yang sama untuk Object: ‘Musuh’, ‘Musuh2’ dan ‘Musuh3’, Anda dapat menambahkan semuanya ke Family: ‘Musuh’ dan membuat Event tersebut untuk Family. Kemudian, Event secara otomatis berlaku untuk semua Object Type dalam Family.
Contoh Families.capx di folder Construct 2's Example, menunjukkan pemanfaatan fungsi ini. Ada 7 jenis ‘Musuh’, dan mereka semua perlu dihancurkan (Destroyed) saat ‘Laser’ menghantamnya. Tanpa Family, 7 Event terpisah diperlukan, seperti yang ditunjukkan di bawah ini:
Jika menggunakan Family, semua 7 Event tersebut bisa diganti dengan 1 Event:
Hal ini membuat lebih mudah untuk membuat dan memelihara Project dengan banyak Object yang bekerja dengan cara yang serupa.
Cara membuat Family
Klik kanan folder Family di Project Bar dan pilih Add Family. Dialog Edit Family muncul:
Object di sebelah kiri adalah Object dalam Project yang bisa ditambahkan ke Family. Object di sebelah kanan adalah Object yang sudah ada dalam Family. Klik dua kali sebuah Object untuk mentransfernya ke sisi lain. Anda dapat memilih beberapa Object dengan menahan Ctrl dan mengklik beberapa Object, lalu mengklik salah satu tombol di tengah untuk mentransfernya.
Setelah selesai, klik OK dan Family akan muncul di Project Bar. Hal ini dapat diperluas untuk menunjukkan semua Object dalam Family juga:
Family, dan Object di Family, bisa diedit dengan mengklik kanannya dan memilih pilihan dari menu, seperti Remove from Family atau Edit Family.
Object bisa ditambahkan ke banyak Family. Semua Event untuk Family akan berlaku untuk Object yang terkait dengan Family tersebut.
Family Instance Variable
Instance Variable juga dapat ditambahkan ke Family dengan mengklik kanan nama Family di Project Bar dan memilih Family Instance Variable.
Jika Anda menambahkan Instance Variable ke Family, semua Object Type di Family mewarisi (Inherit) Instance Variable tersebut. Misalnya: menambahkan Instance Variable ‘Nyawa’ ke Family ‘Musuh’ dalam contoh gambar di atas akan berarti ‘BladeEnemy’, ‘BugEnemy’, ‘CrescentEnemy’, ‘FighterEnemy’, SaucerEnemy’, ‘ScytheEnemy’ dan ‘SlicerEnemy’ semua mendapatkan Instance Variable: ‘Nyawa’. Ini juga akan muncul di editor di samping Instance Variable masing-masing Object. Namun dalam Event Sheet View, Family hanya akan menunjukkan Instance Variable-nya sendiri (yang ditambahkan langsung ke Family). Ini berarti setiap Instance Variable yang Anda inginkan yang tersedia untuk Event Family harus ditambahkan ke Family, dan bukan pada setiap Object dalam Family.
Jika Object Type dimiliki oleh beberapa Family, maka Object Type tersebut mewarisi Instance Variable dari setiap Family yang terkait dengan Object Type tersebut.
Family Behavior
Behavior juga dapat ditambahkan ke Family dengan mengklik kanan nama Family di Project Bar dan memilih Family Behavior.
Seperti Instance Variable pada Family, jika Anda menambahkan Behavior ke Family, semua Object Type dalam Family mewarisi Behavior tersebut. Behavior akan muncul dalam Event untuk semua Object dalam Family dan Family itu sendiri. Misalnya: menambahkan Behavior: ‘Bullet’, ke Family yang diberi nama ‘famPeluru’ berarti Bullet Action: Set speed tersedia untuk setiap Object dalam Family, begitu pula Family itu sendiri.
Jika Object Type termasuk dalam beberapa Family, maka Object Type itu mewarisi setiap Behavior dari setiap Family yang terkait dengan Object Type tersebut.
Family Effect
Effect juga dapat ditambahkan ke Family dengan mengklik kanan nama Family di Project Bar dan memilih Family Effect.
Seperti Instance Variable dan Behavior pada Family, jika Anda menambahkan Effect pada Family, semua Object Type dalam Family mewarisi Effect tersebut. Hal ini dapat berguna untuk menerapkan Effect dengan cepat ke sejumlah Object Type yang berbeda.
Jika Object Type termasuk dalam beberapa Family, maka Object Type itu mewarisi setiap Effect dari setiap Family yang terkait dengan Object Type tersebut.
Menggunakan Family pada Event (Picking Family in Event)
Family mengambil Instance di Event Sheet secara terpisah dari Object Type dalam Family tersebut. Contoh: Misalnya, Family1 yang terdiri dari SpriteA dan SpriteB. Condition untuk Family1 tidak akan pernah mempengaruhi seluruh Instance dari SpriteA dan SpriteB. Condition ini hanya akan berlaku pada Instance yang terpengaruh (yang sesuai dengan Condition itu) saat menjalankan Action untuk Family1. Demikian juga, Condition yang mengambil Instance dari SpriteA dan SpriteB tidak akan pernah mempengaruhi semua Instance di Family1. Dengan kata lain, dalam Event Sheet, Family diperlakukan seperti Object Type yang sama sekali terpisah, yang kebetulan memiliki Instance dari Object Type lainnya. Hal ini dapat dimanfaatkan jika Anda memerlukan satu Event untuk mengambil dua daftar Instance terpisah dari Object Type yang sama.
Jika Anda membuat banyak Event dan lupa untuk menggunakan Family dan ingin menggantinya, dapat memungkinkan untuk menggunakan fitur ‘Replace Object’ untuk menghemat waktu Anda daripada harus melakukan pengulangan setiap Event. Prosesnya dijelaskan di tutorial How to upgrade an Object to a Family (https://www.scirra.com/tutorials/535/how-to-upgrade-an-Object-to-a-Family).
Ringkasan
Family adalah fitur yang sangat ampuh yang penting untuk membantu menjaga agar Project besar tetap sederhana. Instance Variable dan Behavior yang ditambahkan ke Family diwariskan oleh setiap Object dalam Family, yang memungkinkan logika canggih mudah diterapkan pada banyak Object Type sekaligus.




Komentar
Posting Komentar