Artikel ini terutama memperkenalkan konsep yang terkait dengan editor primitif dan primitif di CraftLand.
Gambaran Umum Metablocks
Saat mengedit grafik, kita perlu memperhatikan bentuk setiap blok grafik. Yang perlu kita lakukan adalah menyusun blok-blok ini menurut aturan yang ditetapkan.
Operasi Dasar
Sebelum kita masuk ke editor primitif, kita harus membuka skrip terlebih dahulu. Buka CraftLand, klik More di pojok kiri atas, lalu klik Block Script. Saat kita masuk ke editor primitif, kita akan membuka ‘skrip global’ secara default.
Pengenalan Antarmuka
Setelah memasuki editor elemen, ada 4 area di antarmuka editor yang patut mendapat perhatian kita, seperti yang ditunjukkan pada gambar di bawah ini.
Nomor Seri | Gambar | Deskripsi |
---|---|---|
1 | ![]() |
Di pojok kiri atas antarmuka terdapat kotak pencarian. Karena ada banyak blok primitif, kita dapat mengambil blok primitif yang kita inginkan dengan memasukkan kata kunci di kotak pencarian. |
2 | ![]() |
Di sudut kanan atas antarmuka terdapat daftar pilihan skrip. Klik ikon di sebelah kanan untuk menampilkan opsi tarik-turun, yang menunjukkan skrip yang tersedia saat ini. Skrip global dibuat secara default. |
3 | ![]() |
Kami membagi primitif menjadi 6 kategori. Kami dapat mengeklik ikon kategori untuk memperluas daftar blok primitif. |
4 | ![]() |
Ikon di sebelah kiri adalah tombol batal, yang dapat membatalkan operasi terakhir. Ikon di sebelah kanan adalah tombol ulangi, yang dapat mengulang operasi terakhir yang dibatalkan. |
Tempat Primitif
1. Tarik blok: Setelah memahami antarmuka, pertama-tama kita buka kategori pertama di sudut kiri bawah, pilih blok primitif darinya, dan seret ke ruang kosong sebagai titik awal logika kita.
2. Blok penghubung: Kita pilih blok dengan cekungan di bagian atas dari daftar blok. Kita akan menemukan bahwa saat kita menyeret blok ke bagian bawah blok awal, akan ada perintah UI berwarna kuning di bagian yang timbul di bawah blok awal. Saat kita melepaskan jari, kita akan menemukan bahwa kedua blok akan secara otomatis diserap bersama. Maka kita telah menyelesaikan logika sederhana.
3. Mengisi data: Pertama, kita tarik keluar data dalam blok primitif atau tarik keluar tipe data yang sesuai dalam daftar primitif.
Kemudian seret blok data ke ruang data yang sesuai. Kotak perintah UI berwarna kuning akan muncul di ruang data, yang menunjukkan bahwa jenis blok saat ini dapat ditempatkan. Saat Anda melepaskan jari, blok data akan secara otomatis diserap ke dalam ruang tersebut.
Catatan: Bila tipe data yang diisi tidak konsisten dengan tipe data dalam spasi, editor akan memberikan perintah yang jelas dan secara otomatis memunculkan blok data yang tidak cocok dengan tipe tersebut.
4. Membongkar blok: Saat kita memindahkan salah satu dari beberapa blok grafik yang saling terhubung, semua blok yang terhubung di bawahnya akan ikut terbuang bersama-sama.
5. Hapus blok: Saat Anda menekan dan menahan blok grafik apa pun, ‘tong sampah’ akan muncul di sisi kanan antarmuka. Kita dapat menghapus blok grafik dengan memindahkannya ke tong sampah.
Tentu saja, kita juga dapat menyeret beberapa blok ke ‘tong sampah’ untuk menghapus beberapa blok sekaligus.
Bentuk
Deskripsi Blok | Ikon |
---|---|
Hanya blok yang ditinggikan di bawah yang merupakan titik awal suatu logika. | ![]() |
Blok dengan hanya bagian atas yang cekung biasanya merupakan titik akhir dari suatu logika. | ![]() |
Jika tidak ada depresi di bagian atas dan tidak ada tonjolan di bagian bawah, berarti blok ini adalah bagian data, yang dapat diterapkan ke blok lain sebagai parameter dalam beberapa operasi logika. | ![]() |
Jika sebuah blok memiliki bagian atas yang ditinggikan dan bagian bawah yang cekung, artinya blok tersebut dapat dihubungkan ke blok lain dengan bagian bawah yang ditinggikan dan juga dapat dihubungkan ke blok lainnya di bawahnya. Itu dapat menjadi simpul logika. | ![]() |
Dalam klasifikasi blok, kita akan menemukan blok dengan bentuk khusus. Blok khusus ini adalah ekspresi kondisional, yang dibagi menjadi konveksitas eksternal dan area cekung serta konveksitas internal dan area cekung. Kita dapat menghubungkan blok lain secara normal pada konveksitas eksternal dan area cekung dari blok ekspresi kondisional seperti menghubungkan blok lain, atau kita dapat menautkan blok di dalam ekspresi kondisional, dan logika yang ditulis di dalamnya perlu memenuhi logika kondisional tertentu sebelum dapat dihitung. | ![]() |
Klasifikasi
Untuk menemukan blok yang dibutuhkan secara lebih efisien dalam editor primitif, kami membagi blok menjadi 7 jenis.
Seperti yang ditunjukkan pada gambar berikut:
Jenis | Diagram | Gambaran Umum |
---|---|---|
Insiden | ![]() |
Jenis peristiwa: Umumnya, sebagai titik waktu saat logika dimulai, saat kita menulis logika primitif, pertama-tama kita perlu mengklarifikasi pada titik waktu mana kita ingin logika ini dipicu. Misalnya, saat pemain dibangkitkan, kita ingin memberinya senjata atau saat ronde dimulai, kita ingin menempatkan kotak pasokan airdrop di tengah peta, lalu ‘Saat pemain dibangkitkan’ dan ‘Saat ronde dimulai’ adalah simpul waktu yang diperlukan untuk logika ini. |
Entitas | ![]() |
Jenis entitas: adalah konsep penting dalam CraftLand (lihat ‘Konsep penting’ untuk detailnya). Dalam proses penyuntingan primitif, kita sering memanggil atau mengubah properti suatu entitas. |
Game | ![]() |
Jenis Game: Di Jenis Game, kami menyediakan banyak fungsi yang umum digunakan untuk kreator CL. Fungsi-fungsi ini biasanya berupa pengaturan yang sering perlu disesuaikan di beberapa game. Fungsi-fungsi ini juga sangat terkait dengan gameplay, seperti membuat monster, mengubah skybox, atau bergabung dengan voice channel. |
Data | ![]() |
Tipe data: Blok data dapat berupa parameter yang diperlukan untuk sebagian besar operasi logis. Data dapat berupa bagian data yang digunakan di blok lain, atau bagian operasi untuk menghitung nilai. |
Logika | ![]() |
Jenis logika: Dalam jenis logika, kami menyediakan beberapa operasi logika yang kompleks. Jenis operasi logika ini sering digunakan saat memproses data. Jenis ini dapat menyaring, menilai, atau membuat keputusan berdasarkan kondisi tertentu. Misalnya, menentukan apakah suatu angka lebih besar dari angka lain, lalu memutuskan untuk mengambil tindakan yang berbeda. |
Variable | ![]() |
Tipe variabel: Dalam tipe variabel, kita dapat membuat variabel sendiri. Variabel yang dibuat dengan cara ini adalah variabel skrip, yang digunakan untuk pemrosesan data skrip saat ini. Dalam skrip lain, variabel dapat diperoleh dan ditetapkan melalui referensi eksternal. |
Function | ![]() |
Jenis fungsi: Dalam jenis fungsi, Anda dapat membuat peristiwa khusus. Peristiwa khusus yang kami buat dapat merangkum sebagian logika, membuat logika lebih jelas, lebih mudah dipahami, dan dikelola. |
Deskripsi Blok Elemen Logika
Blok kata benda | Diagram | Deskripsi |
---|---|---|
Pernyataan bersyarat (pernyataan if) | ![]() |
Jika kondisinya terpenuhi, node di bawah IF akan dieksekusi. |
Pernyataan bersyarat…else(if…else statement) | ![]() |
Jika kondisi terpenuhi, node di bawah IF akan dieksekusi. Jika kondisi tidak terpenuhi, node di bawah ELSE akan dieksekusi. |
Perulangan bersyarat (pernyataan while) | ![]() |
Selama kondisinya terpenuhi, node di bawah ini akan dijalankan dalam satu perulangan. |
Perulangan integer rage (untuk pernyataan indeks) | ![]() |
Parameter i dimulai dari nilai minimum, dan setiap kali node yang lebih rendah dijalankan, i meningkatkan nilai langkah hingga i lebih besar dari atau sama dengan nilai maksimum. |
Ulangi setiap elemen (untuk setiap pernyataan) | ![]() |
Untuk setiap KEY dalam daftar/kamus parameter, jalankan node di bawah ini satu kali. |
Periksa null | ![]() |
Periksa apakah itu nilai null dan tangani nilai null dengan tepat untuk menghindari kesalahan. |
Lanjutkan ke berikutnya | ![]() |
Lewati putaran ini dan masuk ke putaran berikutnya pada badan putaran. |
Putuskan loop | ![]() |
Putuskan loop dan lanjutkan mengeksekusi node setelah badan loop. |
Apa itu ECA?
Dalam konteks kode, ECA (Event-Condition-Action) biasanya merujuk pada metode representasi aturan.
I. Komponen
-
Acara
- Situasi atau kejadian tertentu yang memicu pelaksanaan aturan. Misalnya, seorang pemain memasuki permainan, seorang pemain menyebabkan terjadinya pembunuhan, atau seorang pemain meninggalkan permainan.
Contoh: Pemain menyebabkan pembunuhan, dan setelah memicu peristiwa ini, pemain menerima 100 koin emas.
-
Kondisi
- Ekspresi logika yang menentukan apakah akan melakukan tindakan berikutnya setelah suatu peristiwa terjadi. Tindakan terkait hanya akan dilakukan jika kondisinya benar. Misalnya, jika jumlah zombi kurang dari 10, buat zombi, jika jumlah pemain sama dengan 1, dapatkan senapan Gatling, atau jika koordinat pemain sama dengan nilai tertentu, pindahkan pemain ke koordinat lain.
Contoh: Saat seorang pemain bergabung dalam permainan dan memiliki mikrofon, namanya akan menjadi ‘Saya punya mikrofon’.
-
Aksi
- Jika peristiwa terjadi dan kondisinya terpenuhi, tindakan tertentu akan dilakukan. Tindakan ini dapat berupa mengubah data, memanggil fungsi, mengirim pesan, memicu peristiwa lain, dll.
Contoh: Berikan pemain AK47 di awal ronde dan atur kesehatan pemain menjadi 500.
Konsep penting dalam ECA
Nama Konsep | Deskripsi |
---|---|
Fungsi | Fungsi (sering disebut metode) adalah blok kode yang dapat digunakan kembali yang menjalankan tugas tertentu. Fungsi merangkum operasi atau tugas tertentu dalam blok metode yang independen, sehingga operasi dan logika menjadi lebih modular dan mudah dikelola. Kode eksternal dapat menjalankan tugas tertentu dengan memanggil fungsi tanpa harus memahami detail implementasi fungsi tersebut. |
Parameter | Parameter adalah nilai yang diberikan ke fungsi atau metode saat dipanggil. Parameter meliputi parameter formal dan parameter aktual, yang dapat dibagi menjadi beberapa jenis parameter untuk memberikan fleksibilitas dan transfer data, dll. |
Enumerasi | Enumerasi adalah konsep pengumpulan data yang konstan, seperti enumerasi metode serangan, yang dapat berisi opsi seperti jarak dekat, tembak-menembak, ledakan, dll. Jenis enumerasi yang berbeda tidak dapat ditetapkan satu sama lain, meskipun nilainya mungkin sama, mereka tidak dapat ditetapkan karena semantik yang berbeda. |
Peristiwa khusus & variabel khusus
Acara Kustom
Di pojok kiri bawah editor elemen, kita dapat menemukan total tujuh jenis daftar elemen. Di jenis fungsi, kita dapat mengeklik CREATE FUNCTION untuk membuat acara khusus.
Tinjauan Umum Antarmuka Acara Kustom
Nomor Seri | Gambar | Deskripsi |
---|---|---|
1 | ![]() |
Di sini kita dapat mengisi nama acara khusus. |
2 | ![]() |
Klik tanda tambah untuk menambahkan parameter internal ke acara khusus. Parameter ini hanya dapat digunakan di acara khusus tempat parameter tersebut berada. |
3 | ![]() |
Klik tanda tambah di sudut kanan bawah untuk menambahkan nilai balik ke peristiwa kustom kita. Saat kita memanggil peristiwa ini dalam logika algoritme lain, kita bisa mendapatkan data yang kita inginkan. |
Deskripsi acara khusus
Saat mengedit primitif, kami akan mengintegrasikan beberapa blok primitif ke dalam peristiwa khusus. Kami juga dapat mengatakan bahwa kami merangkum beberapa logika kalkulasi dalam satu metode. Ada beberapa keuntungan melakukan hal ini:
1. Penamaan yang jelas: Menggunakan peristiwa yang dienkapsulasi, kita tidak perlu membaca logika blok primitif yang kompleks, kita dapat memahami seluruh maksud logika peristiwa hanya dengan memberi nama.
2. Sederhanakan struktur primitif: Enkapsulasi kalkulasi kompleks dalam peristiwa kustom dapat membuat logika struktur utama lebih ringkas dan jelas, mengurangi kompleksitas struktur primitif, dan meningkatkan keterbacaan.
3. Penggunaan ulang: Jika beberapa blok logika grafis memerlukan operasi yang sama, Anda dapat menggunakan ulang peristiwa kustom yang dienkapsulasi untuk menghindari penulisan logika grafis yang sama berulang kali. Tidak hanya itu, saat kita mengubah dan memelihara peristiwa kustom ini, kita juga dapat mengubah beberapa blok logika grafis yang menggunakan ulang peristiwa kustom tersebut pada saat yang sama untuk menghindari perubahan kode yang sama berulang kali di beberapa tempat.
Variabel Khusus
Tinjauan Umum Antarmuka Variabel Kustom
Dalam daftar jenis elemen, pilih jenis VARIABLE, lalu klik CREATE VARIABLE untuk membuat variabel khusus.
Saat membuat variabel khusus, kita dapat mengatur nama variabel dan tipe data variabel.
Deskripsi variabel kustom
Saat kita menulis logika grafis, terkadang kita perlu menentukan variabel parameter tipe data sesuai dengan kebutuhan tertentu. Fungsi variabel kustom dapat mengatasi kebutuhan ini.
Variabel yang Anda buat juga dapat digunakan untuk meneruskan data antar metode yang berbeda. Dengan menyimpan data dalam variabel, Anda dapat meneruskannya sebagai parameter ke metode lain atau mengembalikannya dari suatu metode ke pemanggil.
Contoh Acara/Variabel Khusus
Kami akan membuat logika untuk menunjukkan cara menggunakan peristiwa kustom dan variabel kustom di editor primitif.
Contoh logika: Ketika seorang pemain membunuh seseorang, batas kesehatan pemain akan berkurang 10 poin, dan minimum akan dikurangi menjadi 20.
- Pertama, kita buat variabel khusus bernama ‘CurrentMaxHp’ dan tetapkan tipe data ke ‘int’. Pada saat yang sama, kita buat event khusus bernama ‘DecreaseMaxHp’ sebagai persiapan awal.
-
Temukan dan seret event ‘Saat pemain menyebabkan pembunuhan’, dan hubungkan ke event khusus ‘DecreaseMaxHp’ yang baru saja kita buat. Setelah menghubungkan, kita telah menyelesaikan dasar logis untuk mengurangi batas kesehatan pemain saat pemain membunuh.
-
Setelah menyelesaikan logika dasar, kita dapat mulai menulis struktur primitif dari custom event. Pertama, kita tetapkan nilai variabel yang baru saja kita buat.
-
Selanjutnya, hubungkan algoritma untuk menyetel variabel ke -10 setiap kali suatu peristiwa dipicu.
-
Menambahkan batas kesehatan minimum, menambahkan tanda centang jika batas kesehatan saat ini kurang dari atau sama dengan 20, maka batas kesehatan saat ini sama dengan 20.
-
Tetapkan kembali variabel yang dihitung ke atribut batas hidup pemain. Sejauh ini, kita telah menyelesaikan semua logika yang diperlukan.
-
Verifikasi.
Batas kesehatan dikurangi dengan benar dan diverifikasi dengan benar.