Flex、AIR、Java、Androidなど

Archive for 12月 20th, 2012

こんにちは。@stachibanaです。
本エントリーはAndroid Advent Calendar 2012の表エントリーです。本日の裏エントリーは@katsummyさんです。
NDKとかADKとかaaptとかガチなネタが続いている中、空気を読まずにソフトなネタを投入します。

AndEngineでつくるAndroid 2Dゲーム (SMART GAME DEVELOPER)立花 翔
翔泳社売り上げランキング : 12826
Amazonで詳しく見る

宣伝になりますが、12/13日に翔泳社さんより拙著「AndEngineでつくるAndroid 2Dゲーム」が発売されました。
iPhone業界ではカジュアルゲームで1つで700万稼いだとか、3週間で1000万儲かったとかという話が話題ですね。
さすがにこれは一握りですが、1つのゲームで100万位になった例は結構あります。Androidでもランキングを見ているとその傾向が見られますね。近いうちでしょう。
ということで、今回はゲーム作りを解説してみたいと思います。
これから作るゲームはPlayストアで公開されてますのでまずはそちらをどうぞ。

仮に、「赤い水牛」という飲めばいくらでも働ける炭酸飲料があったとします。それを振って振って振りまくり、噴射させることによって疲れて机で寝てしまっている社員達にぶつけ、翼をさずけられたら素敵だと思いませんか?
Androidの開発環境が揃っている方なら1時間もあれば作れますので、是非体験してみて下さい。
尚、必要な画像素材はここからダウンロードして下さい。ダウンロードできたら、解凍してassetsフォルダにサブフォルダごと放り込んで下さい。

では始めましょう。Androidの開発環境は入っていることを前提に進めます。
※ 本エントリはJavaのこと、Androidのことが普通に分かる方向けに大分はしょって書いています。本の方にはもっともっともーーーーっと優しく書いてありますのでご安心を。
AndEngineの準備
最初にAndEngineを落とします。
AndEngineのサイトを開き、プロジェクトをgitなりzipなりでローカルに保存します。
ライブラリの形式で配布されていますので、落とせたら、Eclipseのメニュー > インポートからインポートします。ワークスペースにコピーすることをおすすめします。
ゲームの雛形の作成
ゲーム画面を作る前に、ゲームの雛形を作りましょう。
でも解説するのがめんどくさいのでここからダウンロードして下さい。
簡単に言うと、リソースの読み込み関係のユーティリティクラスや、シーンの遷移関連の関数等をまとめた抽象クラスとかが出来上がった状態のプロジェクトです。
詳細の解説は本の方に書いてあるのでそちらをどうぞ。
AndEngineライブラリへのパスは同じディレクトリを指定していますので、ワークスペースにコピーしていない方は修正してください。
MainActivityの編集
まず、MainActivityを編集しましょう。以下の実装を加えます。
Activityでは何も描画をせず、起動するシーンを指示し、描画や処理はシーンが行います。

最初に起動するシーンをゲームのシーンからトップ画面のシーンに変更
毎フレーム加速度センサーから値を取得し、ゲーム進行中ならゲームのシーンに値を渡す実装
シーン遷移用の実装
ハードウェアキー押下時の実装

MainActivity.java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171package biz.stachibana.ae.redbaffalo;

import org.andengine.engine.camera.Camera;
import org.andengine.engine.handler.IUpdateHandler;
import org.andengine.engine.options.EngineOptions;
import org.andengine.engine.options.ScreenOrientation;
import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.andengine.entity.scene.Scene;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.view.KeyEvent;

public class MainActivity extends MultiSceneActivity implements
        SensorEventListener {

    // 画面のサイズ。
    private int CAMERA_WIDTH = 480;
    private int CAMERA_HEIGHT = 800;

    // [...]


Categories

 

2012年12月
« 8月   2月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here