Langsung ke konten utama

Construct 2 Indonesia Manual: Bab Plugin Reference - 10. Function

Object: Function dapat menjalankan Event yang berbeda (On Function) dalam sebuah Action (Call Function). Ini mirip dengan Function dalam bahasa pemrograman tradisional. Menggunakan Function dapat membantu Anda mengorganisir Event dan menghindari duplikasi kelompok Action atau Event.


Tentang Function

Tujuan utama Object: Function adalah dengan menggunakan Action: Call Function. Action Ini mengambil nama fungsi (misalnya: Call Function “CreateEnemy”). Action tersebut kemudian memicu Event: On Function yang terkait (misalnya: On Function “CreateEnemy”), menjalankan Event Actions tersebut dan semua Sub-event, sebelum kembali melanjutkan proses di mana Function tersebut dipanggil.

Sebagai contoh lain: Misalkan Anda membuat ‘Musuh’ dengan status acak dalam sebuah game setiap 5 detik dengan menggunakan Event ini:


Misalkan ada 2 Event lain di mana Anda ingin menciptakan jenis ‘Musuh’ yang sama: satu ketika seorang ‘Player’ masuk ke perangkap, dan satu lagi setiap 4 detik saat berada dalam pertarungan melawan bos. Tanpa Function, Anda mungkin harus menyalin-dan-menempelkan (Copy & Paste) semua Action tersebut beberapa kali, seperti ini:


Misalkan ada 2 Event lain di mana Anda ingin menciptakan jenis ‘Musuh’ yang sama: satu ketika seorang ‘Player’ masuk ke perangkap, dan satu lagi setiap 4 detik saat berada dalam pertarungan melawan bos. Tanpa Function, Anda mungkin harus menyalin-dan-menempelkan (Copy & Paste) semua Action tersebut beberapa kali, seperti ini:


Ini bekerja identik dengan Event sebelumnya, namun jauh lebih pendek dan lebih nyaman. Kita bisa menggunakan Action: Call “CreateEnemy” di manapun kita ingin membuat musuh, dan menggunakan serangkaian Action yang sama di Event “CreateEnemy”.

Seringkali berguna dalam membagi banyak bagian Event Anda ke dalam Function seperti ini, sehingga mudah digunakan kembali di seluruh Event Sheet.


Parameters

Saat memanggil Function, Anda juga bisa menambahkan Parameter. Ini hanyalah angka atau String yang tersedia untuk Function ini. Misalnya: Function: CreateEnemy dari contoh sebelumnya dapat dimodifikasi untuk mengambil 2 Parameter: koordinat X dan Y sebagai lokasi untuk menciptakan ‘Musuh’. Ini membantu Function dibuat dengan tujuan lebih luas, menggunakan informasi tambahan dari Action yang memanggil Function.

Untuk menambahkan Parameter ke pemanggilan Function, klik link Add Parameter yang muncul di dialog Parameters saat mengedit Action: Call Function. Ini adalah Link khusus yang hanya muncul untuk Action ini di Object: Function. Di dalam Event: On Function, Anda kemudian dapat menggunakan Expression: Param dengan indeks Parameter (berbasis nol) untuk mengambil nilai yang sesuai.


Fitur lanjutan dari Function

Seperti dalam bahasa pemrograman, Object: Function mendukung hal-hal berikut ini:

  • Function dapat memanggil Function lainnya.
  • Function dapat memanggil dirinya sendiri (Recursion).
  • Function dapat mengembalikan nilai.
  • Memanggil Function melalui Expressions (yang juga mengembalikan nilai).


Perhatikan bahwa Function yang memanggil Function lain dan  Recursion akan menciptakan “tumpukan” Local Variable baru. Dengan kata lain, seperti dalam bahasa pemrograman, Local Variable adalah unik untuk setiap level pemanggilan Function. Ini tidak berlaku untuk Static Local Variable atau Global Variable.

Perhatikan juga: Object: Function akan membuat Log ke konsol browser jika tidak digunakan dengan benar, seperti: Memanggil Function yang tidak ada atau mengakses Parameter yang tidak diberikan. Log ini dapat membantu mengidentifikasi masalah dalam menggunakan Function dalam Project berskala besar. Lihat Checking for errors in browsers (https://www.scirra.com/tutorials/147/checking-for-errors-in-browsers) untuk informasi lebih lanjut tentang melihat konsol browser.


Mengembalikan nilai dari Function

Function juga bisa mengembalikan hasilnya. Sebagai contoh: Function: Factorial bisa menghitung hasil matematis dan mengembalikan hasil. Pada Event: On Function, nilai kembalian dapat diset menggunakan Action: Set return value.

Jika Event dipanggil dengan menggunakan Action: Call Function, nilai yang dikembalikan kemudian tersedia dengan menggunakan Expression: ReturnValue. Function juga bisa dipanggil langsung dari sebuah Expression menggunakan Expression: Call; dalam hal ini nilai pengembalian secara otomatis dikembalikan sebagai hasil dari Expression: Call.


Function Conditions

  • Compare Parameter
    Bandingkan nilai salah satu Parameter dengan pemanggilan Function. Condition ini hanya boleh digunakan dalam Event: On Function, karena jika di luar pemanggilan Function, maka tidak ada Parameter yang ditetapkan.

  • On Function
    Dipicu saat Acton: Call Function yang berkaitan digunakan.



Function Actions

  • Call Function
    Memicu Event dari Function yang terkait. Parameter tambahan dapat diberikan yang diakses oleh Expression: Param.

  • Set return value
    Digunakan dalam Function Event, set nilai hasil dari Function. Nilai ini diberikan kepada Expression yang memanggil Function ini atau kemudian dapat diakses menggunakan Expression: ReturnValue.



Function Expressions

  • Call
    Memanggil Function langsung dari sebuah Expression. Expression ini mengambil nilai balik yang ditetapkan dalam Function itu, atau 0 jika tidak ada nilai pengembalian yang ditetapkan. Parameter tambahan dapat ditambahkan secara opsional setelah nama Function, misalnya: Function.Call(“CreateEnemy”, 123, 456).

  • Param
    Mengambil Parameter yang diteruskan ke pemanggilan Function berdasarkan indeks berbasis nol. Sebagai contoh: Function.Param(0) adalah mengambil nilai Parameter pertama.

  • ParamCount
    Mengambil jumlah Parameter yang diberikan ke pemanggilan Function.

  • ReturnValue
    Mengambil nilai yang diset dengan menggunakan Action: Set return value dari pemanggilan Function terakhir. Jika Action: Set return value tidak digunakan dalam sebuah Function, maka nilai kembaliannya adalah 0.





Komentar