Rodzaj zanurzenia

Ten przewodnik opisuje elementy, które składają się na prostą rozgrywkę, w formie gry Charades. Gry idealnie nadają się do tego, bo większość z nich wymaga niestandardowego interfejsu i elementów sterujących.

W jego trakcie poznasz także wskazówki dotyczące projektowania, programowania i dystrybucji, które są ważne podczas tworzenia własnego oprogramowania Glassware.

Zanim zaczniesz

Pełne źródło gry Charades jest dostępne w GitHubie. Zanim zaczniesz, zaimportuj go do Android Studio, ponieważ jest on szczegółowo omówiony w tym przewodniku.

  1. Na ekranie Szybki start kliknij Sprawdź w sekcji Control > Git.
  2. Skopiuj URL klonu z Charades.
  3. Wklej URL klonu w adresie URL repozytorium Vcs i kliknij Klonuj.
  4. Na kolejnym ekranie kliknij Tak.
  5. Kliknij OK na kolejnym ekranie.
  6. Zbuduj projekt i uruchom go na połączonym Google Glass, klikając przycisk Odtwórz. Sprawdź README przykładu pod kątem szczegółów wywołania.

Czego się nauczysz

Dowiesz się, jak wykorzystać komponenty z pakietu Android SDK, by utworzyć większą część funkcji gry Chades, a następnie wykorzystać GDK, aby wpiąć się w Google Glass. Oto lista tematów, które warto zgłębić:

  • Zaprojektowanie przepływu interfejsu użytkownika za pomocą udostępnianych przez nas zasobów do projektowania
  • Projektowanie wyzwalaczy głosowych do uruchamiania oprogramowania Glassware
  • Określanie struktury interfejsu gry na podstawie aktywności na Androidzie
  • tworzenie elementów menu Androida, które umożliwiają użytkownikom wybór opcji gry;
  • Integracja z Google Glass za pomocą wyzwalania 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
  • Poznaj proste implementacje interfejsu Androida, które dodają dopracowania i są zgodne ze stylem Glass
  • Poznanie procesu dystrybucji i tego, na co zwracamy uwagę

Design

Zanim zaczniesz, poświęć trochę czasu na zaprojektowanie oprogramowania Glassware. Dzięki temu zorientujesz się, jakie przepływy interfejsu najlepiej sprawdzają się w Google Glass, jakich poleceń głosowych będziesz używać i jak będą wyglądać karty.

Oczywiście projektowanie Glassware to proces iteracyjny, a niektóre elementy, które teraz projektujesz, mogą się zmienić. Duża część tych prac na początku ma kluczowe znaczenie dla zapewnienia satysfakcji użytkowników.

Przepływ interfejsu

Zaprojektowanie interfejsu użytkownika to proste ćwiczenie, które pozwala wyświetlić oprogramowanie Glassware przed napisaniem kodu. Cały czas w nim pracujemy z myślą o produktach Glassware.

Przyjrzyjmy się głównym elementom interfejsu gry Charades, aby zorientować się, jak działa ten interfejs i jak bardzo przydatny może być ten proces przy tworzeniu własnego oprogramowania Glassware.

Ekran powitalny

Jest to pierwszy ekran, który widzą użytkownicy po rozpoczęciu przygody. Umożliwia użytkownikom orientowanie się w grze przed przejściem do rozgrywki. Jest też ogólnym konstrukcją, którą użytkownicy już znają.

Po dotknięciu touchpada pojawia się system menu z 2 elementami: Nowa gra i Instrukcje.

Tryb instrukcji

Podczas tworzenia treści angażujących mechanizm wprowadzania danych może być czasem nowatorski, dlatego warto poinformować użytkowników, jak powinni korzystać z treści angażujących, zwłaszcza w grze.

Ten zestaw kart zawiera instrukcje dotyczące gry oraz wskazówki, jak grać i jakie gesty należy używać do poruszania się po interfejsie. Aby ją otworzyć, muszą kliknąć pozycję menu Instrukcje na ekranie powitalnym.

Tryb gry

Te ekrany stanowią główny element rozgrywki. Aby przejść do tego procesu, kliknij pozycję menu Nowa gra na ekranie powitalnym.

Ten zestaw kart zawiera losowe słowo (maksymalnie 10). Użytkownicy pomijają słowo, przesuwając palcem do przodu, a potem klikając touchpad, gdy poprawnie je opisują.

Ekran z wynikami meczu

Ten ekran pokazuje wyniki gry. Początkowo pojawi się ekran „Koniec gry”, a użytkownicy mogą przesunąć palcem do przodu, aby zobaczyć wyniki gry. Gdy użytkownik kliknie dowolną kartę wyników, pojawi się pozycja menu Nowa gra, która pozwoli mu rozpocząć inną grę.

Polecenie głosowe

Polecenia głosowe należy opracować na wczesnym etapie projektowania. Polecenia głosowe umożliwiają użytkownikom uruchamianie aplikacji Glassware z menu głosowego Glass Home (karta zegara) i stanowią istotny element podczas projektowania aplikacji Glassware.

Na przykład polecenie Opublikuj aktualizację dobrze działa w modelu spóźniającym się, w którym użytkownicy wymawiają polecenie i jaki jest tekst, a szkółka przetwarza je bez udziału użytkownika. Dzięki temu użytkownicy mogą szybko wrócić do tego, co robią.

Z drugiej strony w przypadku elementów takich jak Zagraj w grę lepiej jest kierować użytkowników na ekran powitalny, aby mogli się najpierw zorientować. Ponieważ to polecenie głosowe najprawdopodobniej wywołuje nudę, możesz oczekiwać, że użytkownicy będą zadowoleni z wyświetlania dodatkowych ekranów i menu umożliwiających uruchomienie gry. Bezpośrednie włączanie użytkowników do gry zaraz po poleceniu głosowym zwykle jest złe dla gier.

Charades używa polecenia głosowego Zagraj w grę . Po wywołaniu polecenia głosowego przez użytkownika pojawi się ekran powitalny Charades z prośbą o kliknięcie, aby wyświetlić więcej opcji (w tym przypadku Nowa gra lub Instrukcje).

Układy kart

Niezależnie od tego, czy tworzysz elementy interaktywne czy aktywne karty, w miarę możliwości używaj CardBuilder lub układów XML.

Często trzeba utworzyć własny układ, więc postępuj zgodnie z naszymi wytycznymi dotyczącymi interfejsu, aby uzyskać jak najlepiej wyglądające oprogramowanie Glassware.

Stoper jest zgodny z ogólnymi wskazówkami dotyczącymi układu, ale ma niestandardowe układy interfejsu wykorzystujące standardowe komponenty Androida, takie jak widoki i układy.

Rozwój współpracy

Do tworzenia aplikacji na Androida używa się tych samych narzędzi, których używa się do tworzenia aplikacji na Androida, a następnie używa interfejsów API w dodatku GDK, aby uzyskać dostęp do funkcji specyficznych dla Glass, takich jak wykrywanie gestów i polecenia głosowe.

Do tworzenia oprogramowania Glassware często używa się typowych komponentów Androida, ale pamiętaj, że niektóre pojęcia mogą się czasem różnić. Nie utożsamiaj się na przykład z zanurzeniem w aktywności na Androidzie. Funkcja Immersji jest przeznaczona dla Google Glass z jedną lub wieloma funkcjami Androida, a także z wieloma innymi komponentami pakietu GDK i pakietu SDK Androida.

W pozostałej części sekcji dotyczącej programowania dowiesz się, jak wygląda gra Charades i jakie są główne elementy zaimportowanego wcześniej projektu. Dobrze jest mieć zainstalowane Android Studio, aby ułatwić Ci śledzenie postępów. Kod źródłowy jest komentowany, więc w tej sekcji omawiamy ogólne przeznaczenie każdego pliku i przydatne wskazówki, które możesz zastosować we własnym oprogramowaniu Glassware.

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

  • Deklaracja aktywatora głosowego do połączenia z głównym menu głosowym Glass.
  • Aktywność na ekranie powitalnym, aby umożliwić użytkownikom uruchomienie gry lub wyświetlenie instrukcji. Uruchamia ono zadanie związane z instrukcjami lub rozgrywkę.
  • Aktywność w samouczku pokazuje, jak grać w grę, wykonując główne działania w grze
  • Aktywność w grze pozwala użytkownikom zagrać w grę
  • Ćwiczenie z wynikami zawiera wynik gry oraz listę odgadniętych i nieodgadniętych słów. Pozwala też użytkownikom rozpocząć nową grę od pozycji menu.

Polecenie głosowe

Polecenia głosowe tworzysz w pliku zasobów XML, który określa używane polecenie, a następnie wskazuje zasób XML w pliku AndroidManifest.xml.

Te pliki są powiązane z poleceniem głosowym Charades:

  • res/xml/voice_trigger_play_a_game .xml – deklaruje użycie polecenia głosowego.
  • AndroidManifest.xml – deklaruje działanie, które ma się rozpocząć po wypowiedzeniu polecenia głosowego.

Aktywność na ekranie powitalnym

Ekran powitalny to pierwsza rzecz, którą widzą użytkownicy po uruchomieniu Charadów. Informują ich przed rozpoczęciem gry.

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

  • res/layout/activity_start_game.xml – deklaruje układ ekranu powitalnego.
  • res/menu/start_game.xml – deklaruje system menu ekranu powitalnego, który zawiera pozycje Instrukcje i Nowa gra.
  • res/values/dimens.xml – deklaruje standardowe wymiary i dopełnienie karty używane w tym projekcie zgodnie ze stylem 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 dobrze jest oddzielić model gry (stan gry) od interfejsu. Klasa CharadesModel śledzi wynik gry, liczbę wyrażeń odgadniętych w trybie rozgrywki, różne instrukcje oraz informacje o tym, czy użytkownicy je wykonali w trybie instrukcji.

Te pliki są powiązane z modelem gry:

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

Podstawowa aktywność w grze

Ponieważ tryby samouczka i gry mają bardzo podobne funkcje i interfejsy, ta klasa podstawowa definiuje wspólne funkcje obu. Ćwiczenia związane z instrukcjami i trybami gry rozszerzają te zajęcia.

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

  • res/layout/activity_game_play.xml – określa układ używany przez rozgrywkę i tryby instrukcji w Charades.
  • src/com/google/android/glass/sample/charades/BaseGameActivity.java – określa podstawowe funkcje rozgrywki i tryby instrukcji w Charades, które są udostępniane.

Ćwiczenie związane z instrukcjami

Ćwiczenie z instrukcjami przedstawia 3 karty, które wyjaśniają, jak grać w grę. Wykrywa ono, czy użytkownik wykona działanie widoczne na karcie, zanim będzie mógł kontynuować.

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

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

Aktywność związana z graniem

Aktywność w grze określa główny przebieg gry. Określa, jakie słowa wyświetlić i jak zachować punkty, a także wykrywa gesty do obsługi gestów i uruchamia aktywność związaną z wynikami po zakończeniu gry.

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

  • GamePlayActivity – rozszerza BaseGameActivity i zawiera główną logikę przepływu gry.

Działanie związane z wynikami

Zadanie pokazuje odgadnięte słowa, nieodgadnięte słowa i wynik w grze. Zawiera też opcję menu, która pozwala użytkownikom uruchomić nową grę.

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

  • res/layout/game_results.xml – definiuje układ karty „Koniec gry”.
  • res/layout/card_results_summary.xml – definiuje układ wyświetlania na liście odgadniętych i nieodgadniętych słów.
  • res/layout/table_row_result.xml – definiuje układ z pojedynczymi wierszami podsumowania wyników.
  • src/com/google/android/glass/sample/charades/GameResultsActivity.java – określa rzeczywistą aktywność związaną z układami i menu zdefiniowanych przez wspomnianych wspomnianych zasobów XML.
  • res/raw/sad_trombone.ogg – dźwięk, który będzie odtwarzany, gdy użytkownik nie zweryfikuje wszystkich słów.
  • res/raw/triumph.ogg – dźwięk, który będzie odtwarzany, gdy użytkownik opisze wszystkie 10 słów.
  • res/drawable-hdpi/ic_done_50.png – ikona znacznika wyboru wyświetlana obok prawidłowo odgadniętych słów.

Zasoby animacji

Te materiały dodają do gry Charades więcej szczegółów:

  • res/anim/slide_out_left.xml – animuje wyjście, by wysunąć się w lewo (np. po przekazaniu słowa).
  • res/anim/slide_in_right.xml – powoduje animowanie widoku początkowego w celu przesunięcia się od prawej strony (np. gdy na ekranie pojawi się nowe słowo).
  • res/anim/tug_right.xml – określa animację przeciągania elementów, gdy przesuniesz palcem po widoku, który nie pochłania przesunięcia. Dzięki temu użytkownicy będą wiedzieć, że przesunięcie nie przyniosło skutku.

Plik manifestu Androida

Plik AndroidManifest.xml zawiera opis głównych komponentów oprogramowania Glassware, dzięki czemu system wie, jak je uruchomić. Plik manifestu Charades zawiera te informacje:

  • Ikona i nazwa Glassware. Google Glass wyświetla te informacje w głównym menu dotykowym, jeśli na to samo polecenie głosowe odpowiada więcej niż 1 oprogramowanie Glassware.
  • Wszystkie działania związane z Charades. Jest to niezbędne, aby system wiedział, jak rozpocząć działania w oprogramowaniu Glassware.
  • Polecenie głosowe i filtr intencji, który rozpoczyna określone działanie po jego wypowiedzeniu.
  • Kod wersji Glassware. Ten kod musi być aktualizowany (a zazwyczaj też o nazwie wersji) za każdym razem, gdy do MyGlass jest przesyłana nowa wersja tego pliku APK.