株式会社イリンクス

株式会社イリンクスのブログ

Categories

iPhoneアプリ開発 その2

前回のiPhoneアプリ開発 その1の続きです。

今回はハマった点について記載したいと思います。

■デバイスの回転
まず、iPhoneだけだと問題ないのですが、iPadにも対応する場合、
iPad本体の回転に対応する必要があります。

EAGLViewでOpenGLのプロジェクトを生成してしまうと
EAGLViewは回転に対応していないため、自力で色々実装する必要があります。

そこで、UIViewControllerでプロジェクトを作成し、
そこにEAGLViewで作成したEAGLViewやES1Rendererをコピーすれば
回転の面倒な処理はUIViewControllerが受け持ってくれるので非常に楽が出来ます。

詳しくは以下のサイトで確認してみてください
なんてこったいブログ

■半透明テクスチャの読込み
テクスチャはPVRTCを使ったほうが良いと様々なサイトに書いてありますが、
手っ取り早く表示したかったため、今はpngを使用しています。

pngのロードはCGBitmapContextCreateを使用するサンプルが非常に多いのですが
私が実装したところ、pngに半透明が含まれている場合
何故かその半透明が黒色で表示されてしまいました。

そこで別のサンプルを探したところCGDataProviderを使用したサンプルが
マイコミジャーナルの実践! iPhoneアプリ開発に乗っていました。
こちらで実装したところ、問題なく半透明が表示できました。

大きくハマったのは上記2点だけで、基本的にはスムーズに開発が進みました。
やはりXcode4の使いやすさとC++で開発した事が大きかったように思います。

ただ、いずれAndroidに移植することも考えて、土日にAndroidでOpenGLのプログラムを
組んでみたのですが、Javaだと構造体やoperatorが使えない、速度的に厳しい等
色々な問題が発覚しました。

次回はこの辺について書きたいと思います。