Pola Imersif

Panduan ini menjelaskan komponen yang terdiri dari pengalaman imersif sederhana, dalam bentuk game Charades. Game adalah kasus penggunaan yang sempurna untuk imersif karena sebagian besar memerlukan UI dan kontrol input kustom.

Dalam prosesnya, Anda juga akan mempelajari tips desain, pengembangan, dan distribusi yang penting untuk membuat Glassware Anda sendiri.

Sebelum memulai

Sumber lengkap game Charades tersedia di GitHub. Impor versi ini ke Android Studio sebelum Anda memulai, karena panduan ini sangat merujuknya.

  1. Dari layar Quick Start, klik Check out from version Control > Git.
  2. Salin URL clone dari Charades.
  3. Tempelkan URL clone ke Vcs Repository URL dan klik Clone.
  4. Klik Ya di layar berikut.
  5. Klik OK di layar berikut.
  6. Build project dan jalankan di Glass yang terhubung, dengan mengklik tombol Play. Pastikan untuk memeriksa README contoh untuk detail pemanggilan.

Yang akan Anda pelajari

Anda akan mempelajari cara menggunakan komponen dari Android SDK untuk mem-build sebagian besar perendaman Charades, lalu GDK untuk terhubung ke pengalaman Glass. Berikut daftar topik yang akan Anda pelajari:

  • Mendesain alur UI dengan resource desain yang kami sediakan
  • Mendesain pemicu suara untuk memulai Glassware
  • Menggunakan aktivitas Android untuk menentukan struktur UI game
  • Membuat item menu Android yang memungkinkan pengguna memilih opsi game
  • Mengintegrasikan ke pengalaman Glass dengan pemicu suara di menu utama
  • Menggunakan pendeteksi gestur GDK yang mendeteksi input pengguna dan melakukan tindakan kustom
  • Mempelajari implementasi UI Android sederhana yang menambahkan polesan ekstra dan mengikuti gaya Glass
  • Mempelajari proses distribusi dan hal yang kami cari saat melepaskan Glassware

Desain

Sebelum mulai mengembangkan, luangkan waktu dan desain Glassware Anda. Dengan melakukan ini, Anda mendapatkan ide yang baik tentang alur UI yang berfungsi paling baik di Glass, perintah suara yang akan Anda gunakan, dan tampilan kartu Anda.

Tentu saja, mendesain Glassware adalah proses yang berulang-ulang dan beberapa hal yang Anda desain sekarang akan berubah, tetapi memiliki bagian pekerjaan yang baik pada awal ini sangat penting untuk membangun pengalaman yang luar biasa.

Alur UI

Mendesain alur UI adalah latihan yang sederhana dan memungkinkan Anda memvisualisasikan Glassware sebelum menulis baris kode. Kami melakukannya sepanjang waktu untuk Glassware yang kami buat.

Mari kita bahas elemen UI utama imersif Charades, sehingga Anda mendapatkan gambaran tentang cara kerja UI dan seberapa membantu proses ini saat membuat Glassware Anda sendiri.

Layar pembuka

Layar ini adalah layar pertama yang dilihat pengguna saat mereka memulai imersif Charades. Dengan begitu, pengguna dapat mengorientasikan diri sebelum memilih pengalaman game dan merupakan konstruksi game umum yang sudah dikenal pengguna.

Saat pengguna mengetuk touchpad, sistem menu dengan dua item akan muncul, New Game dan Petunjuk.

Mode petunjuk

Saat membuat imersi, mekanisme input terkadang masih baru, sehingga berguna untuk memberi tahu pengguna cara berinteraksi dengan imersif, terutama dalam game.

Kumpulan kartu ini menunjukkan petunjuk game dan memandu pengguna tentang cara bermain dan gestur yang digunakan untuk menavigasi UI. Pengguna melakukannya dengan mengetuk item menu Petunjuk dari layar pembuka.

Mode gameplay

Layar ini terdiri dari alur gameplay utama. Pengguna dapat mengakses alur ini dengan mengetuk item menu Game baru dari layar pembuka.

Kumpulan kartu ini menampilkan kata acak (hingga 10). Pengguna melewati kata dengan menggeser ke depan dan mengetuk touchpad saat mereka mendeskripsikan kata dengan benar.

Layar hasil game

Layar ini menampilkan hasil game. Layar "Game over" awalnya muncul dan pengguna dapat menggeser ke depan untuk melihat hasil game. Saat pengguna mengetuk salah satu kartu hasil, item menu New Game akan muncul untuk memungkinkan pengguna memulai game lain.

Perintah suara

Anda harus mengetahui perintah suara cukup awal dalam proses desain. Perintah suara memungkinkan pengguna memulai Glassware dari menu suara Glass Home (kartu jam), jika diperlukan, dan merupakan bagian utama dari cara Anda mendesain Glassware.

Misalnya, perintah Post a update berfungsi dengan baik dalam model fire-and-forget, tempat pengguna mengucapkan perintah dan beberapa teks, serta Glassware memprosesnya tanpa intervensi pengguna lebih lanjut. Hal ini memungkinkan pengguna kembali melakukan aktivitas mereka dengan cepat.

Di sisi lain, untuk sesuatu seperti Mainkan game, Anda biasanya ingin mengarahkan pengguna ke layar pembuka sehingga mereka dapat melihat orientasi terlebih dahulu. Karena perintah suara ini kemungkinan besar akan meluncurkan pengalaman imersif, Anda dapat mengharapkan pengguna tidak masalah jika melihat layar dan menu tambahan untuk memulai game. Langsung mengalihkan pengguna ke pengalaman game tepat setelah perintah suara biasanya merupakan pengalaman yang buruk untuk game.

Charades menggunakan perintah suara Play a game . Setelah pengguna memanggil perintah suara, layar pembuka Charades akan muncul, yang meminta pengguna untuk Ketuk untuk opsi lainnya (Game baru atau Petunjuk dalam kasus ini).

Tata letak kartu

Baik Anda sedang membuat gambar imersif atau kartu live, Anda harus menggunakan CardBuilder atau tata letak XML jika memungkinkan.

Sering kali, Anda masih harus membuat tata letak sendiri, jadi ikuti pedoman UI untuk mendapatkan Glassware dengan tampilan terbaik.

Stopwatch mengikuti panduan tata letak umum, tetapi memiliki tata letak UI kustom menggunakan komponen Android standar seperti tampilan dan tata letak.

Mengembangkan

Untuk mengembangkan imersif, Anda menggunakan alat yang sama seperti yang digunakan untuk pengembangan Android guna mem-build sebagian besar Glassware, lalu menggunakan API di add-on GDK untuk mengakses fungsi khusus Glass, seperti pendeteksi gestur dan perintah suara.

Anda akan sering menggunakan komponen Android umum untuk membuat Glassware, tetapi perlu diingat bahwa terkadang beberapa konsep berbeda. Misalnya, jangan samakan pengalaman imersif dengan aktivitas Android. Immersion adalah pengalaman yang didesain untuk Glass yang dibuat dengan satu atau beberapa aktivitas Android, serta banyak komponen lain dari GDK dan Android SDK.

Bagian Develop lainnya membahas cara pembuatan game Charades dan komponen utama project yang Anda impor sebelumnya. Ada baiknya Anda mengaktifkan Android Studio sekarang untuk mengikutinya. Kode sumber itu sendiri diberi komentar, sehingga bagian ini membahas tujuan tingkat tinggi setiap file dan tips bermanfaat yang dapat Anda terapkan ke Glassware Anda sendiri.

Berikut adalah ringkasan komponen utama Charades:

  • Deklarasi pemicu suara untuk dihubungkan ke menu suara utama Glass.
  • Aktivitas layar pembuka untuk memungkinkan pengguna memulai game atau melihat petunjuk. Aktivitas ini meluncurkan aktivitas petunjuk atau aktivitas gameplay
  • Aktivitas tutorial menunjukkan kepada pengguna cara memainkan game dengan benar-benar melakukan tindakan utama game
  • Aktivitas gameplay memungkinkan pengguna memainkan game yang sebenarnya
  • Aktivitas hasil menampilkan skor game dan daftar kata yang ditebak dan tidak ditebak. Ini juga memungkinkan pengguna memulai game baru dengan item menu.

Perintah suara

Anda akan membuat perintah suara dengan file resource XML yang menentukan perintah yang Anda gunakan, lalu dengan menentukan resource XML dalam file AndroidManifest.xml.

File berikut dikaitkan dengan perintah suara Charades:

  • res/xml/voice_trigger_play_a_game .xml - Mendeklarasikan perintah suara yang akan digunakan.
  • AndroidManifest.xml - Mendeklarasikan aktivitas yang akan dimulai saat perintah suara diucapkan.

Aktivitas layar pembuka

Layar pembuka adalah hal pertama yang dilihat pengguna saat memulai Charades dan mengarahkan mereka sebelum memulai game.

File berikut dikaitkan dengan aktivitas ini:

  • res/layout/activity_start_game.xml - Mendeklarasikan tata letak untuk layar pembuka.
  • res/menu/start_game.xml - Mendeklarasikan sistem menu untuk layar pembuka, yang berisi item menu Petunjuk dan Game baru.
  • res/values/dimens.xml - Mendeklarasikan dimensi kartu standar dan padding yang digunakan aktivitas project ini untuk mengikuti gaya Glass.
  • src/com/google/android/glass/sample/charades/StartGameActivity.java - Class utama untuk layar pembuka.
  • res/drawable-hdpi/ic_game_50.png - Ikon menu untuk Game baru.
  • res/drawable-hdpi/ic_help_50.png - Ikon menu untuk Petunjuk.

Model game

Sebaiknya selalu pisahkan model (status game) dari game dari UI. Class CharadesModel melacak skor game dan jumlah frasa yang ditebak dalam mode gameplay serta berbagai petunjuk dan apakah pengguna telah melaluinya dalam mode petunjuk atau tidak.

File berikut dikaitkan dengan model game:

  • src/com/google/android/glass/sample/charades/CharadesModel.java

Aktivitas game dasar

Karena mode tutorial dan gameplay dari game memiliki fungsi dan UI yang sangat mirip, class dasar ini menentukan fungsi umum untuk keduanya. Aktivitas untuk petunjuk dan mode gameplay memperluas class ini.

File berikut dikaitkan dengan aktivitas ini:

  • res/layout/activity_game_play.xml - Menentukan tata letak yang digunakan bersama oleh mode gameplay dan petunjuk Charades.
  • src/com/google/android/glass/sample/charades/BaseGameActivity.java - Menentukan fungsi dasar gameplay dan mode petunjuk Charades, yang dibagikan.

Aktivitas petunjuk

Aktivitas petunjuk ini menunjukkan tiga kartu yang menjelaskan cara bermain game. Metode ini mendeteksi apakah pengguna melakukan tindakan yang ditampilkan di kartu atau tidak sebelum dapat melanjutkan.

File berikut dikaitkan dengan aktivitas ini:

  • src/com/google/android/glass/sample/charades/TutorialActivity.java - Memperluas BaseGameActivity dan menentukan teks petunjuk yang akan ditampilkan dan cara menangani gestur saat pengguna menelusuri petunjuk untuk game.

Aktivitas gameplay

Aktivitas gameplay menentukan alur utama game. Layanan ini mencari tahu kata apa yang akan ditampilkan, cara mempertahankan skor, memiliki detektor gestur untuk menangani gestur, dan meluncurkan aktivitas hasil saat game selesai.

File berikut dikaitkan dengan aktivitas ini:

  • GamePlayActivity - Memperluas BaseGameActivity dan berisi logika alur game utama.

Aktivitas hasil

Aktivitas hasil menunjukkan kata-kata yang ditebak, kata-kata yang tidak ditebak, dan skor untuk game. Ini juga berisi item menu yang memungkinkan pengguna memulai game baru.

File berikut dikaitkan dengan aktivitas ini:

  • res/layout/game_results.xml - Menentukan tata letak untuk kartu "Game over"
  • res/layout/card_results_summary.xml - Menentukan tata letak untuk menampilkan kata yang ditebak dan tidak ditebak dalam daftar.
  • res/layout/table_row_result.xml - Menentukan tata letak baris individual untuk ringkasan hasil.
  • src/com/google/android/glass/sample/charades/GameResultsActivity.java - Menentukan aktivitas sebenarnya yang menampilkan tata letak dan menu yang ditentukan oleh resource XML yang disebutkan di atas.
  • res/raw/sad_trombone.ogg - Suara yang diputar saat pengguna tidak memahami semua kata.
  • res/raw/triumph.ogg - Suara yang diputar saat pengguna menelusuri 10 kata tersebut.
  • res/drawable-hdpi/ic_done_50.png - Ikon tanda centang yang muncul dengan kata-kata yang ditebak dengan benar.

Resource animasi

Resource animasi ini menambahkan polesan ekstra ke Charades:

  • res/anim/slide_out_left.xml - Ini menganimasikan tampilan keluar untuk meluncur ke kiri (misalnya, saat kata diteruskan).
  • res/anim/slide_in_right.xml - Ini menganimasikan tampilan masuk untuk bergeser dari kanan (misalnya, saat kata baru masuk ke tampilan).
  • res/anim/tug_right.xml - Ini menentukan animasi tarik jika Anda menggeser pada tampilan yang tidak menggunakan geser. Hal ini memungkinkan pengguna mengetahui bahwa gestur geser tidak berpengaruh.

Manifes Android

File AndroidManifest.xml menjelaskan komponen utama Glassware agar sistem mengetahui cara menjalankannya. Manifes untuk Charades mendeklarasikan hal-hal berikut:

  • Ikon dan nama Glassware. Glass menampilkan informasi ini di menu sentuh utama jika lebih dari satu Glassware merespons perintah suara yang sama.
  • Semua aktivitas yang terkait dengan Charades. Hal ini diperlukan agar sistem mengetahui cara memulai aktivitas Glassware.
  • Perintah suara dan filter intent yang memulai aktivitas tertentu saat perintah suara diucapkan.
  • Kode versi untuk Glassware. Kode ini harus diperbarui (dan juga nama versi) setiap kali versi baru APK ini diupload ke MyGlass.