Pola Immersion

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

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 ke Android Studio sebelum memulai, karena panduan ini akan sangat dirujuk.

  1. Dari layar Quick Start, klik Check out from version Control > Git.
  2. Salin URL clone dari Charades.
  3. Tempel URL clone ke Vcs Repository URL lalu klik Clone.
  4. Klik Yes di layar berikutnya.
  5. Klik OK di layar berikutnya.
  6. Bangun 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 membuat sebagian besar Charades imersi, lalu GDK untuk menghubungkan ke pengalaman Glass. Berikut daftar topik yang akan Anda pelajari:

  • Mendesain alur UI dengan sumber daya 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 dalam 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 menambah polesan dan mengikuti gaya Glass
  • Mempelajari proses distribusi dan hal yang kami cari saat merilis Glassware

Desain

Sebelum mulai mengembangkan, luangkan waktu dan desainlah Glassware Anda. Dengan melakukan hal ini, Anda akan mengetahui gambaran yang baik tentang alur UI mana yang paling cocok di Glass, perintah suara apa yang akan Anda gunakan, dan bagaimana tampilan kartu Anda.

Tentu saja, mendesain Glassware adalah proses berulang dan beberapa hal yang Anda desain sekarang akan berubah, tetapi menyelesaikan sebagian pekerjaan ini di awal sangat penting untuk membangun pengalaman yang luar biasa.

Alur UI

Mendesain alur UI adalah latihan sederhana dan memungkinkan Anda memvisualisasikan Glassware sebelum menulis satu baris kode. Kami terus melakukannya untuk Peralatan Kaca yang kami buat.

Mari kita bahas elemen UI utama dari imersif Charades, agar 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 Charades immersion. Hal ini memungkinkan pengguna menyesuaikan diri sebelum harus memasuki pengalaman bermain game dan merupakan konstruksi game umum yang sudah dikenal pengguna.

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

Mode petunjuk

Saat menciptakan pengalaman imersif, mekanisme input terkadang bersifat baru, jadi sebaiknya beri tahu pengguna cara berinteraksi dengan pengalaman imersif, terutama dengan game.

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

Mode gameplay

Layar ini membentuk alur gameplay utama. Pengguna dapat membuka 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 selesai" awalnya muncul dan pengguna dapat menggeser ke depan untuk melihat hasil game. Saat pengguna mengetuk salah satu kartu hasil, item menu Game Baru akan muncul untuk memungkinkan pengguna memulai game lain.

Perintah suara

Anda harus mengetahui perintah suara sejak 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 an update berfungsi dengan baik dalam model api-dan-lupakan, di mana pengguna mengucapkan perintah dan beberapa teks, dan Glassware memprosesnya tanpa intervensi pengguna lebih lanjut. Hal ini membuat pengguna dapat segera kembali melakukan hal tersebut.

Di sisi lain, untuk Mainkan game, Anda biasanya ingin menempatkan pengguna di layar pembuka sehingga mereka bisa mendapatkan orientasi terlebih dahulu. Karena perintah suara ini kemungkinan besar meluncurkan pengalaman imersif, Anda dapat mengharapkan pengguna baik-baik saja dengan melihat layar dan menu tambahan untuk memulai game. Langsung membuat pengguna merasakan pengalaman bermain game tepat setelah perintah suara biasanya merupakan pengalaman yang buruk untuk game.

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

Tata letak kartu

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

Sering kali, Anda masih perlu membuat tata letak sendiri, jadi ikuti pedoman UI kami untuk memiliki tampilan Glassware terbaik.

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

Mengembangkan aplikasi

Untuk mengembangkan pengalaman imersif, gunakan alat yang sama seperti yang digunakan untuk pengembangan Android guna membuat sebagian besar Glassware, lalu gunakan API di add-on GDK untuk mengakses fungsi khusus Glass, seperti detektor gestur dan perintah suara.

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

Bagian Mengembangkan lainnya membahas cara penyusunan game Charades dan komponen utama project yang Anda impor sebelumnya. Sebaiknya siapkan Android Studio sekarang agar Anda dapat mengikutinya. Kode sumbernya sendiri diberi komentar, sehingga bagian ini membahas kegunaan tingkat tinggi setiap file dan tips bermanfaat yang dapat diterapkan ke Glassware Anda sendiri.

Berikut adalah ikhtisar singkat mengenai komponen utama Charades:

  • Deklarasi pemicu suara untuk dikaitkan 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 ini menunjukkan kepada pengguna cara memainkan game dengan benar-benar menjalankan tindakan utama game
  • Aktivitas gameplay memungkinkan pengguna memainkan game yang sebenarnya
  • Aktivitas hasil menampilkan skor game dan daftar kata yang dapat ditebak dan ditebak. Opsi ini juga memungkinkan pengguna untuk memulai game baru dengan item menu.

Perintah suara

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

File berikut terkait 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 mengarahkannya 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 pisahkan model game (status game) dari UI. Class CharadesModel melacak skor game dan jumlah frasa yang telah ditebak dalam mode gameplay serta berbagai petunjuk, serta apakah pengguna telah melewatinya dalam mode petunjuk atau belum.

File berikut dikaitkan dengan model game:

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

Aktivitas game dasar

Karena tutorial dan mode gameplay 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 Charade.
  • src/com/google/android/glass/sample/charades/BaseGameActivity.java - Menentukan fungsi dasar gameplay dan mode petunjuk Charade, yang dibagikan.

Aktivitas petunjuk

Aktivitas petunjuk menampilkan tiga kartu yang menjelaskan cara memainkan game. Metode ini mendeteksi apakah pengguna melakukan tindakan yang ditampilkan di kartu atau tidak sebelum mereka 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 mengikuti petunjuk untuk game.

Aktivitas gameplay

Aktivitas gameplay menentukan alur utama game. Fitur ini mencari tahu kata yang ditampilkan, cara menyimpan 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 menampilkan kata yang ditebak, kata yang tidak ditebak, dan skor untuk game. Mereka 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 berakhir"
  • res/layout/card_results_summary.xml - Menentukan tata letak untuk menampilkan kata yang ditebak dan 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 menunjukkan tata letak dan menu yang ditentukan oleh resource XML yang disebutkan di atas.
  • res/raw/sad_trombone.ogg - Suara yang akan diputar ketika pengguna tidak dapat membaca semua kata.
  • res/raw/triumph.ogg - Suara yang akan diputar saat pengguna melewati 10 kata.
  • res/drawable-hdpi/ic_done_50.png - Ikon tanda centang yang muncul dengan kata yang ditebak dengan benar.

Resource animasi

Resource animasi ini akan menambahkan polesan tambahan pada Karakter:

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

Manifes Android

File AndroidManifest.xml menjelaskan komponen utama Glass Anda sehingga sistem tahu cara menjalankannya. Manifes untuk Charades mendeklarasikan hal-hal berikut:

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