Object: Node-Webkit memungkinkan akses ke fitur yang spesifik untuk Node-Webkit Exporter (https://github.com/rogerwang/node-webkit), seperti misalnya: membaca dan menulis file ke disk drive lokal.
Perhatikan bahwa Object: AJAX dapat membaca file dari folder aplikasi (tapi tidak menulis file) saat mengekspor ke Node-Webkit. Ini memungkinkan Anda untuk menerapkan pembacaan file secara Cross-platform. Perhatikan juga: Object: AJAX membaca file secara Asynchronously, sedangkan Object: Node-Webkit melakukan semua operasi serentak (Synchronously).
Apa itu Node-Webkit?
Node-Webkit pada dasarnya adalah versi mandiri (Standalone) dari browser web Google Chrome, namun tetap terlihat seperti aplikasi desktop biasa (jadi tidak ada tab browser, address bar, tombol back / forward dll). Mengekspor menggunakan Node-Webkit memungkinkan Project Anda berjalan sebagai aplikasi desktop mandiri di Windows, Mac dan Linux, dan tidak memerlukan browser khusus lainnya untuk dipasang.
Previewing (Pratinjau)
Karena Node-Webkit berbasis pada browser Google Chrome, biasanya pratinjau di Chrome akan berjalan dengan identik saat diekspor dengan Node-Webkit. Namun fitur Plugin: Node-Webkit (seperti akses file) tidak bekerja di browser web Google Chrome. Untuk menguji fitur ini dalam mode pratinjau, Anda dapat memilih Node-Webkit untuk Project Property: Preview browser. Hal ini memungkinkan Anda untuk menguji game Anda dengan fitur Plugin ini berfungsi.
Perhatikan bahwa melihat pratinjau dengan Node-Webkit, akan menjalankan Node-Webkit langsung dari direktori instalasi Construct 2. Sebagai konsekuensinya, Expression: AppFolder akan berisi lokasi:
<install path>\exporter\html5\node-webkit\win32
Jika ini menimbulkan masalah bagi Anda, gunakan solusi berikut ini: gunakan Global Variable tipe: String; jika Condition: Is in preview adalah TRUE, ubah (Hard-code) lokasinya ke beberapa folder Development di tempat lain, jika tidak, set ke Expression: NodeWebkit.AppFolder. Kemudian gunakan Global Variable dan bukan Expression: AppFolder.
Menggunakan lokasi (Path) file dengan benar
Jangan pernah mengubah (Hard-code) lokasi (misalnya: menggunakan Action untuk menulis ke lokasi file tetap seperti “C:\MyGame\MyFile.txt”). Ini tidak bersahabat bagi user, dan sering dianggap tidak profesional, berantakan, atau mengisi sistem dari user dengan sampah. Bukan hanya itu tapi dalam banyak kasus itu tidak akan berhasil, karena tidak semua user memiliki izin tertentu dalam membaca atau menulis ke folder di luar direktori user.
Mungkin Anda ingin memecahkan ini dengan menulis file ke Application Folder. Namun ini juga mungkin tidak berhasil; pada banyak versi Windows, folder Program Files memerlukan izin Administrator untuk ditulis, meskipun Anda dapat membacanya.
Solusinya adalah menulis ke folder User, yang hampir bisa Anda tulis izinnya. Ini disediakan oleh Expression: UserFolder. Cara yang benar untuk menentukan lokasi (Path) file di folder User adalah seperti ini:
NodeWebkit.UserFolder & "myfile.txt"
Tapi, jika Anda hanya perlu membaca file, dan tidak perlu menulisnya, Anda bisa dengan aman menggunakan Application Folder (Expression: NodeWebkit.AppFolder).
Text file encoding
Object: Node-webkit memiliki kemampuan untuk membaca dan menulis file teks pada disk. Untuk mendukung semua bahasa yang mungkin, selalu membaca dan menulis dengan pengkodean UTF-8. Untuk memastikan Plugin ini membaca file teks Anda sendiri dengan benar, pastikan file tersebut dikodekan sebagai UTF-8.
Node-Webkit Conditions
- On folder dialog OK
Dipicu setelah Action: Show folder dialog, saat user memilih OK. Expression: ChosenPath berisi folder yang dipilih. - On open dialog OK
Dipicu setelah Action: Show open dialog, saat user memilih OK. Expression: ChosenPath berisi folder yang dipilih. - On save dialog OK
Dipicu setelah Action: Show save dialog, saat user memilih OK. Expression: ChosenPath berisi folder yang dipilih. - On file dropped
Dipicu setelah user menyeret dan meletakkan (Drag & Drop) file ke jendela aplikasi. Expression: DroppedFile berisi path ke file yang diletakkan, memungkinkan Anda memuatnya untuk membaca isinya. - Path exists
Uji jika ada folder atau lokasi file yang ada di sistem dari user.
Node-Webkit Actions
- Clear clipboard
Hapus apapun yang dipotong atau disalin (Cut/Copy) ke Clipboard.
User tidak akan dapat menempelkan (Paste) apapun setelah Action ini. - Set clipboard text
Tetapkan beberapa teks untuk disalin (Copy) ke Clipboard.
Ini memiliki efek yang sama seperti jika user telah memilih teks dalam kotak teks dan memilih Copy. Mereka kemudian dapat menempelkan teks ke aplikasi lain. - Show folder dialog
Buka kotak dialog yang memungkinkan user memilih folder di sistem lokal mereka. saat user memilih OK.
Expression: ChosenPath berisi folder yang dipilih. - Show open dialog
Buka kotak dialog yang memungkinkan user memilih file untuk dibuka di sistem lokal mereka. saat user memilih OK.
Expression: ChosenPath berisi folder yang dipilih.
Parameter: Accept adalah daftar ekstensi file atau jenis MIME yang dipisahkan koma yang dapat digunakan untuk menyaring file yang mungkin ada.
Misalnya: “.txt,.json” akan memungkinkan penyaringan untuk semua file .txt atau .json, dan “text/*” akan memungkinkan penyaringan dengan file apa pun dengan jenis teks MIME. - Show save dialog
Buka dialog yang memungkinkan user memilih file untuk disimpan ke sistem lokal mereka. saat user memilih OK.
Expression: ChosenPath berisi folder yang dipilih.
Parameter: Accept adalah daftar ekstensi file atau jenis MIME yang dipisahkan koma yang dapat digunakan untuk menyaring file yang mungkin ada.
Misalnya: “.txt,.json” akan memungkinkan penyaringan untuk semua file .txt atau .json, dan “text/*” akan memungkinkan penyaringan dengan file apa pun dengan jenis teks MIME. - Append file
Tambahkan beberapa teks ke bagian akhir file.
Ini biasanya lebih cepat daripada menulis file lengkap lagi dengan beberapa konten baru di akhir.
Menambahkan ke file bisa berguna untuk membuat Log. - Copy file
Buat salinan biner file di lokasi baru. - Create folder
Buat folder baru di sistem lokal dari user. - Delete file
Hapus file dari sistem lokal dari user.
Pastikan untuk menggunakan ini dengan hati-hati, karena kesalahan berarti menghapus file yang salah. - List files
Baca daftar setiap subfolder dan file dalam folder tertentu.
Setelah Action ini, Expression: ListCount dan ListAt dapat digunakan untuk mengambil item dalam daftar. - Move file
Buat salinan biner file di lokasi baru, lalu hapus file lama.
Perhatikan bahwa Anda harus menggunakan Action: Rename file daripada Action: Move file, jika Anda berniat memindahkannya menjadi nama baru di folder yang sama. - Open browser
Buka browser Default pada sistem dengan URL yang diberikan. - Rename file
Tetapkan nama baru untuk lokasi (Path) file yang ada. - Run file
Jalankan file di lokasi (Path) file yang ada.
Ini sama dengan mengklik dua kali file di file explorer OS. Untuk program yang dapat dijalankan, ini akan mencoba menjalankan program tersebut; untuk jenis file lainnya, maka akan membuka program Default yang terkait, seperti: editor gambar Default dari sistem jika file gambar diberikan. - Write file
Tuliskan file teks ke sistem lokal dari user.
Jika file tidak ada, maka file baru akan dibuat. Jika file sudah ada, isinya akan ditimpa. - Maximize
Maksimalkan jendela pada desktop dari user.
Ini akan mengambil sebagian besar layar (tapi biasanya keseluruhan). - Minimize
Minimalkan jendela ke sistem operasi Start Bar atau Dock. - Request attention
Lakukan Operating-Specific Activity untuk meminta perhatian dari user, misalnya: dengan Flashing title bar pada jendela (membuat title bar menjadi terang atau berkedip). - Restore
Kembalikan jendela, untuk ditampilkan lagi setelah sebelumnya diminimalkan. - Set always on top
Atur apakah jendela akan selalu muncul di atas jendela lain. - Set width
- Set height
Menetapkan ukuran dimensi jendela.
Catatan: Ini termasuk Title Bar pada jendela dan Border, jadi area game sebenarnya yang ditampilkan mungkin kurang dari ukuran jendela yang Anda tetapkan. - Set maximum size
- Set minimum size
Menetapkan ukuran maksimum dan minimum yang dapat diubah ukurannya oleh user. - Set resizable
Mengaktifkan atau menonaktifkan fungsi pengaturan pada ukuran jendela. - Set title
Menetapkan teks yang muncul di Title Bar jendela atau Caption. - Set X
- Set Y
Menetapkan posisi jendela pada desktop, dalam pixel relatif dari kiri atas monitor. - Show dev tools
Karena Node-webkit berbasis Chromium, Action ini menampilkan Developer Tools dari Chromium (seperti: Debugger dan Javascript Console).
Ini mungkin berguna untuk memeriksa pesan konsol atau untuk membuat Plugin dengan Javascript SDK. - Unmaximize
Membatalkan ukuran jendela yang dimaksimalkan, mengembalikan jendela ke ukuran sebelumnya.
Node-Webkit Expressions
- ClipboardText
Teks yang telah disalin ke Clipboard, jika ada.
Ini memungkinkan Anda untuk menempelkan (Paste) data secara otomatis. - ChosenPath
Mengambil lokasi (Path) file yang dipilih setelah Condition: On folder dialog OK, On open dialog OK atau On save dialog OK. - AppFolder
Mengambil lokasi (Path) dari Application Folder, termasuk garis miring.
Izin baca bisa lakukan, tapi izin menulis belum tentu bisa dilakukan (misalnya: folder Program Files di Windows memerlukan izin Administrator untuk melaukan penulisan). - DroppedFile
Pada Condition: On file dropped, lokasi (Path) dari file yang dimasukkan ke jendela aplikasi. - FileSize(path)
Mengambil ukuran file, dalam satuan byte. - ListAt(index)
Setelah Action: List files, Expression ini mengambil nama file atau folder pada indeks berbasis nol dalam List. - ListCount
Setelah Action: List files, Expression ini mengambil jumlah file atau folder dalam List. - ReadFile(path)
Membuka file dan mengambil isi/konten teksnya sebagai String.
Perhatikan bahwa setiap kali Expression ini digunakan, file dibuka dan dibaca dari disk. Karena jika Expression digunakan dua kali, file dibuka dan dibaca dua kali, yang bisa mempengaruhi performa.
Jika perlu, pertama-tama baca file ke Variable, lalu rujuk Variable tersebut berkali-kali. - UserFolder
Mengambil lokasi (Path) dari User Folder, yang biasanya berada di tempat dokumen user dan file pribadi lainnya yang disimpan.
Izin baca dan tulis bisa dilakukan. - WindowWidth
- WindowHeight
Mengambil ukuran jendela, dalam pixel.
Catatan: ini termasuk Window Title Bar dan Border, jadi mungkin lebih besar dari area tampilan game. - WindowTitle
Mendapatkan teks saat ini yang tampil di Title Bar jendela atau Caption. - WindowX
- WindowY
Mendapatkan posisi jendela, dalam pixel, relatif terhadap sudut kiri atas monitor.
Komentar
Posting Komentar