Android携帯ゲームを作って世界に配信してみよう(1) ―― まずは小さなアプリからこつこつ作ってみる

山田 元康

tag: 組み込み

エレキ系DIY 2011年8月10日

●ソース・コードの簡単な解説

 ここで,先ほど入力していただいたサンプル・ソース・コードについて,処理の流れと,各処理に該当するソース・コードを抜粋して説明します.

 大まかな処理の流れは以下となります(図24).
(1)起動クラス「DigitalClockActivity」が生成される.
(2)「DigitalClockActivity」のコンストラクタで画面表示とタップ処理を行う「DigitalClockView」クラスを生成し,画面に設定する.
(3)1秒に1回起動して再描画を要求するタイマを設定する.
(4)「DigitalClockView」の「onDraw」メソッドが呼び出されて,画面に時刻もしくは日付を描画する.
(5)画面をタップすると「onTouchEvent」が呼び出されて,表示モードを時刻もしくは日付モードに切り替える.

図24 サンプル・ソース・コードの解説


 

(1)起動クラスの生成

 先ほどプロジェクト名「DigitalClock」を設定する際に,合わせて設定した起動クラス「DigitalClockActivity」が生成されます(図24の(1).なお,起動クラスの名前はAndroidManifest.xmlに設定されている).クラス「DigitalClockActivity」は,いわゆるアプリケーションという概念に相当するAndroid APIの基本クラス「Activity」を継承しています.

(2)画面表示と操作を管理するクラスの生成と設定

 「DigitalClockActivity」の「onCreate」は,アクティビティが初めて生成されたことが通知されるコールバック・メソッドです.このメソッド内で画面表示やタップ操作の管理を行う「DigitalClockView」クラスを生成し,画面に設定します(図24の(2)).

 画面の描画やタップ操作などの管理をつかさどるAndroidの基本クラスは「View」クラスです.「DigitalClockView」クラスは「View」クラスを継承します(図24の(2)').

(3)1秒に1回処理するタイマを設定

 画面の設定直後に1秒に1回実行されるタイマを作成して設定します(図24の(3)および(3)').タイマー処理の中では直接描画処理を行うのではなく,画面の描画を管理する「View」クラスの「invalidate」メソッドを呼び出して画面全体の表示内容を無効にすることで,再描画の処理が行われます.

(4)画面描画

 画面の表示の更新が必要になった場合には,「DigitalClockView」の「onDraw」メソッドが呼び出されます(図24の(4)).あらかじめViewのコンストラクタで背景色を白に設定しているので(図24の(4)'),このメソッドが呼び出された時点で既に,画面全体は白い背景色で塗りつぶされています.表示モード(時刻もしくは日付)に応じて現在の日時を文字列にフォーマットし,中央に描画します.

(5)タップ処理

 タップ時のイベントを拾えるように,あらかじめコンストラクタでフォーカスを設定しておきます(図24の(5)').実際に画面がタップされると,ViewのonTouchEventメソッドが呼び出されます(図24の(5)).このコールバック・メソッドは,タップだけではなくフリックなどのすべてのイベントが発生した場合に呼び出されます.今回はユーザがタップした際の,特に最初に画面に触れた瞬間のイベント「ACTION_DOWN」をキャッチして,表示モードを時刻から日付,もしくは日付から時刻に切り替えて,画面を無効化し再描画されるようにリクエストします.

* * *

 今回は,Androidアプリの開発環境の設定と,簡単なAndroidアプリについてご紹介しました.ゲームを作るには,画像の表示,タップだけではなくフリックの判定や,ループ処理など,さらに理解すべき機能はまだ多くありますが,まずは小さなアプリからこつこつとチャレンジしてみてください.

やまだ・もとやす
スパイシーソフト(株) 代表取締役

筆者プロフィール
山田 元康.1974年神奈川県出身.1999年にスパイシーソフトを設立.自らのプログラミング経験を活かし,ケータイ・アプリの紹介と配信を行う「アプリ★ゲット」をオープンする.2008年からはマンガの投稿&共有サイト「マンガ★ゲット」も開始.2011年に「アプリ★ゲット」を,Androidアプリのゲームに特化したレビュー・サービスとしてリニューアルした.提供するゲームのレビューの本数は日本最多であり,日本で唯一,記事レビュー広告のない高品質なサイトとして,業界の注目を浴びている.著者は,技術とサービス企画・運営を合わせた経験が豊富で,特にモバイルを中心としたCGMの分野がめっぽう得意.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日