逆引きAndroid入門 Androidゲームプログラミングの情報源は

Androidゲームプログラミングの情報源は

Android SDKサンプル

Android SDKに含まれるAndroid公式のサンプルコードであり、ビルドしてデバッグできます。

※Android 1.0~1.1の場合、Android SDKディレクトリ下の「samples」フォルダ下
※Android 1.5の場合、Android SDKディレクトリ下の「platforms\android-1.5\samples」フォルダ下にあります

 

  • LunarLander

162-lunar_lander.png

ゲームを開始すると、月の引力によって、ロケットが画面下部に落下してくるので、
バランスよく噴射させ、画面下部に表示される緑線内にロケットをゆっくり着地させればクリア。
※上キーで噴射、左右キーでロケットの傾き補正、実機のトラックボールだと操作しにくい。。。

描画には、SurfaceViewクラスを使用。

 

  • Snake

162-snake.png

蛇を操作して餌を食べ続ける古典的ゲームのAndroid版。

比較的速度を重視しないゲームのサンプルとして参考になる。
描画には、Viewクラスを使用。

 

  • JetBoy

162-jetboy.png

Android1.5で追加された横(背景2重)スクロール型シューティングや音ゲーのサンプル。

厳密には、Android1.5で追加されたJetPlayerクラスのためのサンプル。
描画には、SurfaceViewクラスを使用。

 

  • ApiDemos
    ※ここで紹介しているApiDemosは、Android1.5をベースに解説しています

 

GLSurfaceView 「ApiDemos」-「Graphics」-「OpenGL ES」-「GLSurfaceView」

162-GLSurfaceView.png

描画には、GLSurfaceViewクラスを使用。

※関連キーワード:glClear、glClearColor、glDisable、glEnable、glEnableClientState、glFrustumf、glHint、glLoadIdentity、glMatrixMode、glRotatef、glShadeModel、glTranslatef、glViewport

 

Translucent GLSurfaceView 「ApiDemos」-「Graphics」-「OpenGL ES」-「Translucent GLSurfaceView」

162-TranslucentGLSurfaceView.png

上記「GLSurfaceView」サンプルの背景を透過にしたもの。

描画には、GLSurfaceViewクラスを使用。

関連キーワード:PixelFormat.TRANSLUCENT、glClear、glClearColor、glDisable、glEnable、glEnableClientState、glFrustumf、glHint、glLoadIdentity、glMatrixMode、glRotatef、glShadeModel、glTranslatef、glViewport

 

Touch Rotate 「ApiDemos」-「Graphics」-「OpenGL ES」-「Touch Rotate」

162-TouchRotate.png

タッチ操作で立方体を回転できます。

描画には、GLSurfaceViewクラスを使用。

関連キーワード:glClear、glClearColor、glDisable、glEnable、glEnableClientState、glFrustumf、glHint、glLoadIdentity、glMatrixMode、glRotatef、glShadeModel、glTranslatef

 

Kube 「ApiDemos」-「Graphics」-「OpenGL ES」-「Kube」

162-Kube.png

描画には、GLSurfaceViewクラスを使用。

※関連キーワード:glActiveTexture、glClear、glClearColor、glColor4f、glColorPointer、glDisable、glDrawElements、glEnable、glEnableClientState、glFrustumf、glFrontFace、glLoadIdentity、glMatrixMode、glRotatef、glScalef、glShadeModel、glTranslatef、glVertexPointer、glViewport

 

Textured Triangle 「ApiDemos」-「Graphics」-「OpenGL ES」-「Textured Triangle」

162-TexturedTriangle.png

テクスチャー描画した三角形をランダムに回転・移動させています。

描画には、GLSurfaceViewクラスを使用。

※関連キーワード:glActiveTexture、glBindTexture、glClear、glClearColor、glDisable、glDrawElementsglEnable、glEnableClientState、glGenTextures、glFrontFace、glFrustumf、glHint、glLoadIdentity、glMatrixMode、glRotatef、glShadeModel、glTexCoordPointer、glTexEnvf、glTexParameterf、glVertexPointer

 

Sprite Text 「ApiDemos」-「Graphics」-「OpenGL ES」-「Sprite Text」

162-SpriteText.png

描画には、GLSurfaceViewクラスを使用。

※関連キーワード:glActiveTexture、glBindTexture、glClear、glClearColor、glDisable、glDrawElements、glEnable、glEnableClientState、glFrustumf、glGenTextures、glHint、glLoadIdentity、glMatrixMode、glRotatef、glScalef、glShadeModel、glTexEnvf、glTexParameterf、glVertexPointer

 


apps-for-android

Google Codeに置かれているGoogleによるAndroidサンプルアプリであり、ビルドしてデバッグできます。

SVNパスは、http://apps-for-android.googlecode.com/svn/trunk/

 

  • amazed

傾きセンサーを使用した ころがしゲーム。

デバイスを傾けると傾きセンサーにより、白い玉が転がるので、水色の場所まで移動させればクリア。

実機で試してみた感じでは、結構重く感じる。
描画には、Viewクラスを使用。

 

  • Clickin2DaBeat 

※動画コンテンツのためキャプチャを控えました。YouTubeとかでもアップされていますのでそちらを参照してください。

典型的な音ゲー。

動画の音に合わせて表示される丸印をタップしていく。

ステージと呼ばれるファイルは、インターネット上から取得するようにできている。

 

  • SpriteMethodTest

162-SpriteMethodTest.png

指定した数のDroidをランダムに移動・描画し、計測結果を表示するベンチマークサンプル。

描画方法として、Canvasを用いた場合とOpenGLを用いた場合を比較できる。
下記の「Androidアプリで高速描画チューニングをするコツ(1/3)-@IT」」の中でも紹介されている。

 


日本Androidの会

日本Androidの会2009年5月(11日)のイベントのタイトーの山田先生発表資料(PDF 25ページ)。
実践でしか得られない内容であり、必ず読んでおきたい記事。

 


Android Developers Blog

Android公式ブログより、Android 1.5で追加されたGLSurfaceViewについての解説(英語)。
OpenGL ESを使用する前に読んでおきたい記事。

 


@IT

GoogleのPruett(プルエット)先生へのインタビュー記事。
Androidで2D描画を行う4つの方法など、描画処理の基本知識として読んでおきたい記事。

 


Androidあぷぷ -Androidのオススメアプリ情報を毎日お届け-

まいむぞう先生によるAndroid Marketアプリののレビュー記事。
「game」カテゴリの記事が参考になる。

 


adakoda