Langsung ke konten utama

Construct 2 Indonesia Manual: Bab Plugin Reference - 4. Array

Object: Array menyimpan daftar nilai (angka atau teks). Ini mirip dengan Array dalam bahasa pemrograman tradisional.


Tentang Array

Array mendukung hingga 3 dimensi. Sebagai contoh: daftar sepuluh nilai sederhana akan menjadi Array: 10 x 1 x 1. Perhatikan bahwa Anda seharusnya tidak menetapkan ukuran 0 pada dimensi mana pun dari keseluruhan Array untuk menjadi kosong; yang benar adalah memiliki ukuran 1 pada dimensi yang tidak terpakai.

Setiap elemen Array dapat menyimpan angka atau teks. Angka atau teks dalam elemen dapat diubah dengan Action: Set, dan diakses dengan Expressoin: At. Sebagai contoh, sebuah Array: 10 x 10 x 1 serupa dengan Grid 2D dengan total 100 nilai. Sebuah angka bisa disimpan pada posisi (3, 7) dengan Action: Set at XY, dan diakses dengan Expression: Array.At (3, 7). Perhatikan: Seperti yang telah disebutkan, Construct 2 menggunakan indeks berbasis nol (Zero-based index), jadi elemen pertama ada di 0. Dalam contoh ini, Array.At (0, 0) akan mengembalikan angka pertama di Grid.

Array dapat menyimpan teks atau angka di salah satu elemen. Angka dan teks juga dapat dicampur dalam Array.

Array tidak secara otomatis mengubah ukurannya. Jika Anda mengakses nilai di luar batas Array, maka akan menghasilkan angka 0. Jika Anda menetapkan nilai di luar batas Array, itu tidak akan berpengaruh.


Manipulasi Array

Array satu dimensi, berukuran N x 1 x 1, berfungsi sebagai daftar nilai N sederhana. Action dalam kategori Manipulation (misalnya: Push, Pop) memungkinkan 1 dimensi Array untuk digunakan seperti struktur data lainnya (Action ini bekerja dengan Array multidimensional, namun ditujukan untuk kasus satu dimensi).

Sebagai contoh, skema berikut menerapkan antrian/Queue (First In First Out, atau FIFO):

  • Tambahkan item baru dengan Push Front.
  • Ambil nilai berikutnya dengan Array.Back.
  • Hapus nilai yang diambil dengan Pop Back.


Skema berikut menerapkan tumpukan/Stack (Last In First Out, atau LIFO):

  • Tambahkan item baru dengan Push back.
  • Ambil nilai berikutnya dengan Array.Back.
  • Hapus nilai yang diambil dengan Pop Back.


Array Properties

  • Width (X dimension)
  • Height (Y dimension)
  • Depth (Z dimension)
    Ukuran dari Array. Jika Anda menginginkan Array 1 dimensi (yaitu: daftar nilai), gunakan A x 1 x 1. Jika Anda menginginkan Array 2 dimensi (yaitu: sebuah Grid nilai) gunakan A x B x 1.



Array Conditions

  • Compare at X
  • Compare at XY
  • Compare at XYZ
    Bandingkan nilai pada posisi dalam Array. Indeks berbasis nol. Semua nilai di luar Array akan menghasilkan angka 0. Jika Action: Compare at X digunakan, maka indeks Y dan Z adalah 0. Jika Action: Compare at XY digunakan, maka indeks Z adalah 0.

  • For each element
    Condition berulang yang berjalan satu kali untuk setiap elemen dalam Array. Oleh karena itu, proses ini akan berjalan sebanyak: (lebar x tinggi x kedalaman) kali.

  • Compare current value
    Hanya berlaku untuk Loop Condition: For each element, apakah sebagai Condition berikutnya atau Condition pada Sub-event.

  • Contains value
    Cari keseluruhan Array untuk memeriksa apakah ada elemen yang mengandung nilai yang diberikan. Misalnya: Anda bisa menggunakan ini untuk menguji apakah terdapat String dengan nilai “Pedang” di urutan tertentu dalam Array.

  • Is empty
    Uji apakah Array kosong .Array kosong bila jumlah elemennya nol, dihitung dengan lebar x tinggi x kedalaman. Oleh karena itu Array kosong bila semua elemen (X, Y, Z) memiliki ukuran nol. Ini berguna saat menggunakan Array sebagai struktur data (misalnya: saat Push dan Pop nilai).



Array Actions

  • Clear
    Tetapkan setiap elemen dalam Array ke angka 0.

  • Set at X
  • Set at XY
  • Set at XYZ
    Tulis nilai pada posisi tertentu dalam Array. Indeks berbasis nol. Menulis nilai di luar ukuran Array tidak akan berpengaruh. Jika Action: Set at X digunakan, maka indeks Y dan Z adalah 0. Jika Action: Set at XY digunakan, maka indeks Z adalah 0.

  • Set size
    Tetapkan ukuran dimensi Array. Nilai yang ada akan dipertahankan, tapi jika ukuran dimensi Array yang baru dibuat ini lebih kecil, maka akan terpotong. Jika Array baru lebih besar, elemen baru dibuat untuk menyimpan angka 0. Jika nilai semua elemen (X, Y, Z) pada dimensi adalah 0, maka seluruh Array dianggap kosong, biasanya semua dimensi minimal ada angka 1.

  • Download
    Meminta browser untuk mendownload sebuah file yang berisi isi Array dalam format JSON. Ini ditujukan untuk pengembangan Offline, misalnya: membuat Level Editor.

  • Load
    Menambil isi Array dari String dalam format JSON. Ini harus telah diambil dari Action: Download atau Expression: AsJSON. Bisa juga diambil secara dinamis dari          Object: AJAX.

  • Push
    Tambahkan nilai baru ke awal (depan) atau akhir (belakang) sumbu/Axis. Karena Array adalah sebuah kubus 3D dari nilai, secara teknis, ini memasukkan satu bidang 2D pada elemen yang baru dengan nilai yang diberikan. Namun dalam Array 1D ini menambahkan elemen tunggal, dan dalam Array 2D, ini memasukkan baris baru dari elemen.

  • Pop
    Hapus nilai pada awal (depan) atau akhir (belakang) sumbu/Axis. Karena Array adalah sebuah kubus 3D dari nilai-nilai, secara teknis hal ini akan menghapus satu bidang 2D pada elemen. Namun dalam Array 1D ini menghapus satu elemen, dan dalam Array 2D, ini menghapus seluruh baris elemen.

  • Insert
    Masukkan nilai baru pada indeks tertentu pada sumbu/Axis. Karena Array adalah sebuah kubus 3D dari nilai, secara teknis, ini memasukkan satu bidang 2D pada elemen yang baru dengan nilai yang diberikan. Namun dalam Array 1D ini menambahkan satu elemen, dan dalam Array 2D, ini memasukkan baris elemen baru.

  • Delete
    Hapus nilai pada indeks tertentu pada sumbu/Axis. Karena Array adalah sebuah kubus 3D dari nilai-nilai, secara teknis hal ini akan menghapus 1 bidang 2D pada elemen. Namun dalam Array 1D ini menghapus 1 elemen, dan dalam Array 2D, ini menghapus seluruh baris elemen.

  • Reverse
    Balik urutan elemen pada Axis. Perhatikan bahwa dalam Array multidimensional ini hanya membalikkan satu sumbu/Axis. Misalnya: Membalik sumbu X dalam Array 2D akan membalik urutan kolom sambil mempertahankan isi setiap kolom.

  • Sort
    Urutkan urutan elemen pada sumbu/Axis dalam urutan menaik. Perhatikan: Bahwa dalam Array multidimensional, jenis ini berdasarkan elemen pertama pada sumbu/Axis. Misalnya: Mengurutkan sumbu X dalam Array 2D akan mengurutkan urutan kolom berdasarkan elemen koordinat 0 pada Y, sambil mempertahankan isi setiap kolom.



Array Expressions

  • At(X)
  • At(X, Y)
  • At(X, Y, Z)
    Ambil nilai pada posisi dalam Array. Indeks berbasis nol. Mengambil nilai di luar Array akan menghasilkan angka 0. Jika indeks Y atau Z tidak tersedia, juga akan menghasilkan angka 0.

  • CurX
  • CurY
  • CurZ
    Indeks saat ini, berbasis nol, untuk setiap dimensi dalam Loop Condition: For each element.

  • CurValue
    Nilai saat ini pada elemen dalam Loop Condition: For each element. Ini adalah cara pintas untuk Array.At(Array.CurX, Array.CurY, Array.CurZ).

  • Width
  • Height
  • Depth
    Mengambil nilai ukuran masing-masing dimensi pada Array.

  • Front
    Cara pintas untuk mengakses nilai pertama dalam Array, yang sama dengan At(0, 0, 0).

  • Back
    Cara untuk mengakses nilai terakhir pada sumbu X, yang sama dengan At(Self.Width - 1, 0, 0).

  • IndexOf
  • LastIndexOf
    Cari sumbu X dari Array untuk nilai tertentu dan mengambil indeks yang ditemukan, atau -1 jika tidak ditemukan. Expression: IndexOf menemukan indeks elemen yang cocok paling pertama, dan LastIndexOf menemukan elemen yang cocok paling terakhir.

  • AsJSON
    Mengambil isi Array sebagai String dalam format JSON. Ini kemudian dapat dimuat ke Array dengan Action: Load.




Komentar