iPhone、cocos2d-x、unityが有名です。他にもフレームワークはあると思いますが私は知りません。iPhoneはobjective-c、cocos2d-xはc++でどちらもXCODEです。javascriptを使用し、ビジュアル的にオブジェクトを配置します。その配置したオブジェクトに対して命令、処理を与えるわけです。Flashに似ています。比較的操作しやすい環境です。iPhone、cocos2d-xに関する記事はこちらUnityに関する記事はこちらBlenderに関する記事はこちらクロスプラットフォーム対応としてcocos2d-xかUnityで開発し、ひとつのコードでアイフォンとアンドロイド向けスマートフォンに対応することができます。cocos2d-xとUnityはほぼクロスプラットフォームに対応しているので、アイフォンとアンドロイド用のアプリを生成できます。多少の調整は必要となるかもしれませんが。アンドロイド向けアプリ開発のフレームワークとしてandEngineがあります。主流なのかと思っています。coronaSDK(Lua言語)というのもありました。無料から会社の規模に応じて料金を支払うようです。言語がちょっと特殊なので今回は除外です。私の場合今回は、andEngineを使用することにしました。理由は、前回のアプリ開発がアンドロイドアプリだったので、このままアンドロイドアプリの開発に慣れておきたいからです。他の理由として、クロスプラットフォームは、その開発環境がOSや再生環境(スマートフォン)のバージョンアップに即座に対応できないこと、いずれ開発会社か開発者が、クロスプラットフォーム環境の開発をやめてしまうのではないかという個人的な危惧から、純粋な開発環境で開発したほうが後々得をするのではないかと考えたからです。WindowsとMacの両方で動作可能としたクロスプラットフォームがかつてありましたが、結局、それぞれのOSのための設定、調整が必要で個別の開発を進めたほうが後々のデバッグ等で開発がスムーズに進み、逆にクロスプラットフォームとして開発するほうがデメリットが大きかったりしました。そのソフトのバージョンアップがなくなるとまた他の開発ソフトに切り替える必要があったりと、メリットが有るのは最初だけだったように思えます。それでも、最初のうち、ソフトの内容が小規模のうちは非常に有効なソフトでした。すべての例に当てはまることはないと思います。andEngineがなくなってしまうこともありますので、他の環境も徐々に覚えていきたいと思います。AndEngineを利用して、アイフォンで開発したゲームをアンドロイドに移植するとどのような違いがあるのかをメモしていきたいと思います。アイフォンアプリとして作成したミニゲーム「ひよこレスキュー」を多少改善して、アンドロイドアプリとして開発します。こちらでダウンロードできます。(著)実際に公開しているアプリについて解説されています。著者についてはあまり気にせず日本を選びましたが、アイフォンアプリの開発本を書いている人でもありました。アイフォンアプリとアンドロイドアプリで100本以上も開発したそうです。ゲーム自体が、ミニゲームでほんの数分程度しか遊べないようなゲームですが、個人でアプリ開発をするのに参考になる内容です。AndEngineには物理演算エンジンも利用できます。物理エンジンBox2Dを使いたいときは別途ダウンロードして、インポートする必要があります。box2dはcocosでも利用できます。iPhoneのbox2dを利用したアプリも作ってみたいと思います。iPhoneandEngine画像サイズよりも大きめの領域を確保してから画像から読み込みます。(自動で領域を確保してくれません。)どのフォルダassets/gfxにあるのかも記入する必要があります。this.mEngine.getVertexBufferObjectManager());sPlayer.setRotation(45.0f);//必要に応じてthis.scene.attachChild(sPlayer);//box2dのときは、ここはコメントにし、他のところでattachchildします。58));//box2dの場合で通常のSpriteでは必要ありません。false);this.scene.registerUpdateHandler(physicsWorld);//commonpOnCreateSceneCallback.onCreateSceneFinished(sceneManager.createSplashScene());}box2dでは更に物理ワールドを追加します。アンドエンジンは、左上から下に向かって正座標になります。四角形の基準点も上から基準です。ポリゴンの中心点ではありません。3Dモデリングをしたりすると、だいたいオブジェクトの中心が基準になるので、BOX2Dもそうかと思ったら、違うみたいで、上の位置が基準のようです。AndEngineをremobeして入れ替えることになります。左上座標をカメラ幅(厚さを15としたので、その分を引いてます。)位置にして、上から下に向かってカメラ高さにします。よって、CAMERA_WIDTHの400-15とY座標の0を基準にして、厚さと高さを指定しています。ポリゴンの中心が基準ではありません(だと思います。勘違いして、オブジェクトの中心位置がオブジェクトの基準点だと思いがちです)。座標の基準はiOSと同じです。cocos2dの場合は、下が原点になります。左下が原点(0,0)で、上に向かてY座標は正になります。ここは注意が必要です。SpriteがないのでConnectは必要ありません。getBaseActivity().getEngine().getVertexBufferObjectManager());//15引くことで、見えない状態から見える位置に戻してます。WALL_FIX);attachChild(rightWallRectangle);その他情報BOX2DBox2dで使用するキャラクターやオブジェクトの設定、当たり判定、リグ、IK(インバースキネマティクス)、コネクション関係を設定するツールソフト。Wenderlichスマートフォンアプリの市場についてアイフォンとアンドロイド携帯、その他の携帯電話、スマートフォンが発売されています。現在、アンドロイド携帯端末が多く、そして2番めにアイフォン端末だと思います。主流の2つのスマートフォンに向けて、アプリを開発することが望ましいことは言うまでもありません。実際にadmobをアイフォンアプリとアンドロイドアプリに設定して、広告表示数をチェックしてみたところ、ほぼおなじ回数の広告が表示されていました。ダウンロード数が少ないので、他のアプリ全般に共通しているといえることではないですが、この結果をみると、できるだけ、多くのプラットフォームに対応したほうが、広告表示回数が多くなるということがわかりました。フォースシーズンハードボイルドバーベキューバイクバイクツーリングバクマン。