はじめまして!!
オガリア開発チームの浜田です。趣味でAndroidアプリを開発しているので、
会社の技術ブログを間借りしてAndroid記事も増やしていこうと目論んでいます。
さて、一発目の記事は「AndEngineの導入」です。
AndEngineとは?
Androidアプリで2Dゲームを簡単に開発するためのフレームワーク。
内部ではOpenGLを使用しているため処理が高速。
ざっくりですが、そんな感じです。
なぜAndEngineを使うかという話をするために、まずはAndroidで2Dゲームを実装する方法をおさらいしましょう。
- android.view.animation.Animation
- 実装 : 簡単
- 動作制御 : 不可能ではないが面倒
- 挙動 : スムーズ。ヌルヌル動く
- デメリット : イベントのハンドリングや、多様な動きに弱い
※ただアニメーションするだけ。というアプリケーションに向いています
- android.graphics.Canvas
- 実装 : 簡単
- 動作制御 : 可能
- 挙動 : 遅い。画像枚数が多いと止まってしまう事もしばしば
※画像枚数が少なく、アニメーションの頻度・速度も遅いというアプリケーションに向いています
- android.view.SurfaceView
- 実装 : Canvasよりは難しく、openGLよりは断然簡単
- 動作制御 : 可能
- 挙動 : ある程度早い。背景を早く動かしたり、サイズの大きい画像を動かすとカクカクしだす。
※背景は固定または更新頻度が低く、他の要素が動くようなアプリケーションに向いています
- android.opengl
- 実装 : JavaでopenGLを扱ったことが無い人には難しいと思います。
- 動作制御 : 可能
- 挙動 : 早いが、さすがにサイズの大きい画像をビュンビュン動かして60FPSとかは無理な模様。
※アニメーションがメインのアプリケーションには最適です
つまり「Androidで2Dゲームを作成するにはopenGLが最適だッッ!」と言えそうなんですが、
いかんせんopenGLは実装が面倒(=時間がかかる)なんですよね・・・。
それを簡単にしてくれるのが「AndEngine」なんですッッ!!!!
他にも2Dに特化したフレームワークは色々とありますが、
AndEngineは無料で、かつWebに落ちている情報も多くて
とっつきやすいという理由で選びました。
では、次回は実際に導入から初期プログラムのコーディングを書いていきます。
※AndEngine導入のハマリ所の解説もあるので要チェックですよ!
余談ですが、私がAndEngine導入を決めたきっかけを・・・。
2Dゲームを製作すべくSurfaceViewで実装していたのですが、
あらかた処理のコーディングが完成し、いざ実機で確認!!
と繋げてみたところ、動きカックカク・・・。
ファミコンのマリオのほうがヌルヌル動いている始末でした。私の場合は背景も横スクロールで動かして、その中に要素が
更に散りばめられていたからですが、これはもうアカンと思い
まずはビールを開けて現実逃避し、翌日本屋へ駆け込んだのであります。
最後まで読んでいただきありがとうございます。
AndEngineを導入したくなった方はポチッ↓↓↓↓