Wzór immersyjny

Ten przewodnik prezentuje komponenty, które składają się z prostej gry w formie gry Charades. Gry idealnie nadają się do wciągających rozmów, ponieważ większość użytkowników wymaga niestandardowego interfejsu i funkcji wprowadzania tekstu.

Poznasz też wskazówki dotyczące projektowania, programowania i dystrybucji, które są ważne przy tworzeniu własnego oprogramowania Glassware.

Zanim zaczniesz

Pełne źródło gry Charades jest dostępne na GitHubie. Zaimportuj go do Android Studio, zanim zaczniesz, ponieważ jest to przewodnik po nim.

  1. Na ekranie Szybki start kliknij Zapłać z kontroli wersji > Git.
  2. Skopiuj adres URL kopii z Charades.
  3. Wklej adres URL klona do pola Vcs Repository URL (URL repozytorium Vcs) i kliknij klon.
  4. Kliknij Tak na następnym ekranie.
  5. Kliknij OK na następnym ekranie.
  6. Utwórz projekt i uruchom go na połączonym urządzeniu Glass, klikając przycisk Odtwórz. Sprawdź szczegóły wywołania w przykładzie README.

Czego się nauczysz

Dowiesz się, jak wykorzystać komponenty z pakietu Android SDK do stworzenia konstrukcji wchodzącej w skład zestawu Chaarades, a następnie GDK do przyciągania uwagi do Google Glass. Oto lista tematów, które będą dostępne:

  • Projektowanie przepływu interfejsu za pomocą dostarczonych przez nas zasobów projektowych
  • Projektowanie aktywatorów głosowych w celu uruchomienia Glassware
  • Używanie struktury Androida do określania struktury interfejsu gry
  • Tworzenie opcji menu na Androida, które umożliwiają użytkownikom wybór opcji gry
  • Integracja z Google Glass za pomocą aktywatora głosowego w menu głównym
  • Korzystanie z detektorów gestów GDK, które wykrywają dane wejściowe użytkownika i wykonują niestandardowe działania
  • Poznawanie prostych implementacji interfejsu Androida, które dodają więcej szczegółów i są zgodne ze stylem Google Glass
  • Poznaj proces dystrybucji i dowiedz się, czego szukamy, gdy wypracowujemy oprogramowanie

Struktura

Zanim zaczniesz programować, poświęć trochę czasu na projektowanie szkła. Dzięki temu wiesz, jaki przepływ interfejsu najlepiej działa w Google Glass, jakie polecenia głosowe zobaczysz i jak będą wyglądały Twoje karty.

Oczywiście zaprojektowanie oprogramowania Glass to proces powtarzalny, a niektóre elementy, które teraz projektujesz, ulegną zmianie, ale znaczna część pracy na początku ma kluczowe znaczenie dla zapewnienia znakomitych wrażeń.

Przepływ interfejsu

Projektowanie interfejsu to proste ćwiczenie, które umożliwia wizualizację Glassware przed napisaniem wiersza kodu. Zajmujemy się całą pracą nad szklanymi oprawami, które opracowujemy.

Przyjrzyjmy się głównym elementom interfejsu Charades, aby pokazać, jak działa interfejs i jak przydatny może być proces jego tworzenia.

Ekran powitalny

Ten ekran jest pierwszy, który użytkownicy widzą po rozpoczęciu grania Charades. Pozwala użytkownikom zorientować się w grze, zanim wskoczą do świata gier, i jest to dobrze im znana.

Gdy użytkownik kliknie touchpada, pojawi się system menu z 2 elementami: Nowa gra i Instrukcje.

Tryb instrukcji

Tworzenie immersyjnych mechanizmów jest czasem nowatorskie, dlatego warto poinformować użytkowników, jak powinni korzystać z immersji, zwłaszcza z grą.

Ten zestaw kart pokazuje instrukcje dotyczące gry i podpowiada użytkownikom, jak grać w daną grę i jakie gesty poruszać się po interfejsie. Aby ją otworzyć, kliknij pozycję Instrukcje na ekranie powitalnym.

Tryb rozgrywki

Ekrany stanowią główny element rozgrywki. Aby otworzyć ten proces, użytkownicy mogą kliknąć przycisk menu Nowa gra na ekranie powitalnym.

Ten zestaw kart wyświetla losowe słowo (maksymalnie 10). Użytkownicy mogą pomijać wyraz, przesuwając palcem do przodu i dotykając touchpada, gdy poprawnie go opisują.

Ekran wyników wyszukiwania

Ten ekran przedstawia wyniki gry. Początkowo wyświetla się ekran „Koniec gry”, a użytkownicy mogą przesuwać palcem do przodu, aby zobaczyć wyniki. Gdy użytkownik kliknie kartę wyniku, pojawi się pozycja Nowa gra, dzięki której użytkownicy będą mogli zacząć grę.

Polecenie głosowe

Polecenie głosowe powinno znajdować się na wczesnym etapie procesu projektowania. Polecenia głosowe umożliwiają użytkownikom uruchamianie Glass w menu głosowym (na karcie zegara) w Google Home. W razie potrzeby odgrywają ważną rolę w projektowaniu oprogramowania Glassware.

Na przykład polecenie Publikuj aktualizację działa dobrze w modelu pożaru, w którym użytkownicy wypowiadają polecenia, a niektóre teksty są przetwarzane przez Google Glass bez interwencji użytkownika. Dzięki temu użytkownicy mogą szybko wrócić do tego, co robią.

Z drugiej strony, na przykład w Zagranie w grę warto zwykle trafić na ekran powitalny, aby użytkownicy mogli się zorientować. To polecenie głosowe prawdopodobnie jest wciągające, dlatego możesz spodziewać się dodatkowych ekranów i menu, które pozwolą uruchomić grę. Natychmiast po uruchomieniu użytkownikom polecenie głosowe zwykle nie jest korzystne dla gier.

Karolina używa polecenia głosowego Zagraj w grę . Gdy użytkownicy wywołają polecenie głosowe, pojawi się ekran powitalny Charades z prośbą o wybranie większej liczby opcji (w tym przypadku Nowa gra lub Instrukcje).

Układy kart

Niezależnie od tego, czy tworzysz karty interaktywne, czy karty LiveOps, w miarę możliwości korzystaj z CardBuilder lub układów XML.

Aby stworzyć najlepsze oprogramowanie Glass, często trzeba utworzyć własny układ, więc przestrzegaj wytycznych dotyczących interfejsu.

Stoper jest zgodny z ogólnymi wytycznymi dotyczącymi układu, ale ma niestandardowe układy interfejsu z użyciem standardowych komponentów Androida, takich jak widoki i układy.

Programuj

Aby zanurzyć się w rzeczywistości wirtualnej, użyj tych samych narzędzi, których używasz do programowania na Androidzie, a potem zużywaj więcej interfejsów API z użyciem interfejsów GDK.

Do tworzenia oprogramowania Glass często używa się popularnych komponentów Androida, ale pamiętaj, że niektóre pojęcia mogą być nieco inne. Na przykład nie zanurz się w zestawieniu z aktywnością na Androidzie. Immersy to aplikacje stworzone na potrzeby Google Glass w ramach jednej lub kilku aktywności na Androidzie, a także z wielu innych komponentów pakietu GDK i pakietu SDK na Androida.

W pozostałych sekcjach deweloperskich omawiamy strukturę gry Charades oraz główne elementy projektu zaimportowanego wcześniej. Dobrze jest mieć zainstalowanego Android Studio i śledzić postępy. Kod źródłowy jest komentowany, więc ta sekcja zawiera ogólne informacje o każdym pliku i przydatne wskazówki, które można zastosować do własnego oprogramowania Glassware.

Oto krótkie omówienie głównych składników Charades:

  • deklarację aktywatora głosowego, która zostanie przyłączona do głównego menu głosowego Google Glass;
  • Wyświetlaj aktywność na ekranie, aby umożliwić użytkownikom uruchomienie gry lub wyświetlenie instrukcji. To działanie uruchamia instrukcje lub ćwiczenia
  • Ten samouczek pokazuje użytkownikom, jak grać w daną grę, prezentując jej główne działania.
  • Aktywność w grze pozwala użytkownikom grać w rzeczywistą grę
  • Aktywność w wynikach pokazuje wynik gry oraz listę zgadywanych i niezrozumiałych słów. Pozwala też użytkownikom rozpocząć nową grę za pomocą pozycji menu.

Polecenie głosowe

Polecenia głosowe możesz utworzyć za pomocą pliku zasobów XML, w którym podajesz polecenie, a następnie określając zasób XML w pliku AndroidManifest.xml.

Z poleceniem głosowym Charades powiązane są te pliki:

  • res/xml/voice_trigger_play_a_game .xml – deklaruje polecenie głosowe, którego chcesz użyć.
  • AndroidManifest.xml – deklaruje aktywność rozpoczynaną po wypowiedzeniu polecenia głosowego.

Aktywność na ekranie powitalnym

Ekran powitalny to pierwsza rzecz, jaką użytkownicy widzą przed rozpoczęciem gry Charades.

Z tą aktywnością powiązane są te pliki:

  • res/layout/activity_start_game.xml – deklaruje układ ekranu powitalnego.
  • res/menu/start_game.xml – określa system menu ekranu powitalnego, który zawiera pozycje Instrukcje i Nowa gra.
  • res/values/dimens.xml – deklaruje standardowe wymiary kart i dopełnienie używane przez aktywności tego projektu do stylu Glass.
  • src/com/google/android/glass/sample/charades/StartGameActivity.java – główna klasa ekranu powitalnego.
  • res/drawable-hdpi/ic_game_50.png – ikona menu Nowa gra.
  • res/drawable-hdpi/ic_help_50.png – ikona menu Instrukcje.

Model gry

Zawsze warto oddzielić model gry (stan) od interfejsu. Klasa CharadesModel śledzi wynik gry oraz liczbę wyrażeń, które można odgadnąć w trybie rozgrywki, a także różne instrukcje, a także to, czy użytkownicy przeszli przez nie w trybie instrukcji.

Z modelem gry są powiązane te pliki:

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

Podstawowa aktywność w grach

Samouczek i tryby rozgrywki gry mają bardzo podobne funkcje i interfejsy, dlatego ta klasa podstawowa definiuje typowe funkcje dla obu z nich. Ćwiczenia z wykorzystaniem instrukcji i trybu rozgrywki rozszerzają tę klasę.

Z tą aktywnością powiązane są te pliki:

  • res/layout/activity_game_play.xml – określa układ udostępniany przez tryby gry i instruktażowe Charades.
  • src/com/google/android/glass/sample/charades/BaseGameActivity.java – określa podstawową funkcję dostępnych trybów rozgrywki i instrukcji.

Działania dotyczące instrukcji

Ćwiczenia te pokazują 3 karty, które wyjaśniają, jak grać w daną grę. Określa, czy użytkownicy mogą wykonać działanie wyświetlane na karcie, zanim będą mogli kontynuować.

Z tą aktywnością powiązane są te pliki:

  • src/com/google/android/glass/sample/charades/TutorialActivity.java – rozszerza rozszerzenie BaseGameActivity i określa, jaki tekst instrukcji ma być wyświetlany oraz jak obsługiwać gesty, gdy użytkownicy wykonują instrukcje w grze.

Aktywność w grach

Aktywność w grze definiuje główny proces gry. Określa, które słowa wyświetlić, jak utrzymywać wynik, ma wykrywacz gestów do obsługi gestów i uruchamia aktywność po zakończeniu gry.

Z tą aktywnością powiązane są te pliki:

  • GamePlayActivity – powoduje rozszerzenie BaseGameActivity i zawiera główne zasady gry.

Aktywność związana z wynikami

Wynikiem działania są słowa zgadujące, niezgadne słowa i wynik meczu. Zawiera ona też pozycję menu, która umożliwia użytkownikom uruchomienie nowej gry.

Z tą aktywnością powiązane są te pliki:

  • res/layout/game_results.xml – określa układ karty „Koniec gry”
  • res/layout/card_results_summary.xml – definiuje układ do wyświetlania listy słów zgadujących i niezrozumiałych.
  • res/layout/table_row_result.xml – określa pojedynczy układ wiersza dla podsumowania wyników.
  • src/com/google/android/glass/sample/charades/GameResultsActivity.java – rzeczywista aktywność pokazująca układy i menu zdefiniowane we wspomnianych zasobach XML.
  • res/raw/sad_trombone.ogg – dźwięk odtwarzany, gdy użytkownicy nie zrozumieją wszystkich słów.
  • res/raw/triumph.ogg – dźwięk odtwarzany, gdy użytkownik obejrzy wszystkie 10 słów.
  • res/drawable-hdpi/ic_done_50.png – ikona znacznika wyboru widoczna przy słowach, które zostały odgadnięte prawidłowo.

Zasoby animacji

Te zasoby animacji wzbogacają Charades o dodatkowe szczegóły:

  • res/anim/slide_out_left.xml – animuje zamykający widok, który przesuwa się w lewo (np. gdy słowo jest przekazywane).
  • res/anim/slide_in_right.xml – powoduje wejście w widok danych wejścia (np. gdy pojawia się nowe słowo).
  • res/anim/tug_right.xml – wskazuje, czy animacja przesuwa się po przesunięciu widoku, który nie wykorzystuje przesuwania. Dzięki temu użytkownicy wiedzą, że przesuwanie nie przyniesie żadnego efektu.

Plik manifestu Androida

Plik AndroidManifest.xml opisuje główne komponenty Glassware, dzięki czemu system wie, jak je uruchomić. Plik manifestu Charades zawiera te informacje:

  • Ikona i nazwa Glass. Glass będzie wyświetlać te informacje w menu głównym, jeśli na to samo polecenie głosowe odpowie więcej niż jedno urządzenie Glassware.
  • Wszystkie działania związane z Charades. Jest to wymagane, aby system wiedział, jak rozpocząć aktywność.
  • Polecenie głosowe i filtr intencji, które uruchamiają konkretną aktywność, gdy polecenie głosowe zostanie wyświetlone.
  • Kod wersji Glassware. Ten kod musi być aktualizowany (i zwykle również nazwą wersji) za każdym razem, gdy do usługi MyGlass wysyłana jest nowa wersja tego pliku APK.