強火で進め このページをアンテナに追加 RSSフィード

合言葉はガンガンいこうぜ!!最近はiPhoneとOpenGL ESとARM CPUにお熱です。
整理された情報は こちら へどうぞ。

2009年05月09日

[]iPhoneSDLを使ってみた

f:id:nakamura001:20090509225533p:image

マルチプラットフォームのマルチメディアライブラリであるSDL、バージョン1.3ではiPhone対応をしているみたいなのでちょっと使ってみました。

Simple DirectMedia Layer

http://www.libsdl.org/

ライブラリの作成

iPhoneに対応しているバージョン1.3のファイルはSVNからDLする必要が有る様です。

Simple DirectMedia Layer

http://www.libsdl.org/svn.php

以下のコマンドでDLします。

svn checkout http://svn.libsdl.org/trunk/SDL

このファイルの中にはSDLのライブラリをビルドするためのXcodeのプロジェクトがあります。しかし、そのままビルドすると SDL_revision.h が存在しないためにエラーとなります。

先にコマンドラインから以下のコマンドを実行して下さい。

./autogen.sh
chmod +x /configure
./configure
make

次にこのパスのプロジェクトを開き、

XCodeiPhoneOS/SDL/SDLiPhoneOS.xcodeproj

以下の設定のビルドを順番に行います。

f:id:nakamura001:20090510013803p:image

iPhoneのライブラリ作成
  • アクティブ SDKiPhone Device 2.0
  • アクティブなビルド構成 → Release
  • アクティブターゲット → StaticLibiPhoneOS
シミュレータのライブラリ作成
  • アクティブ SDKiPhone Simulator 2.0
  • アクティブなビルド構成 → Release
  • アクティブターゲット → StaticLibSimulator
ヘッダとライブラリファイルを組み込んだテンプレートを作成
  • アクティブ SDKiPhone Simulator 2.0
  • アクティブなビルド構成 → Release
  • アクティブターゲット → Template

Xcodeのテンプレートを追加

次に作成したテンプレートをXcodeのプロジェクト新規作成時のテンプレートに追加します。

1. Finder上で Cmd+Shift+G 押した後に以下を入力しディレクトリを開く。

~/Library/Application Support/Developer/Shared/Xcode/Project Templates/

3. そこにフォルダ「Application」を作成

2. ビルドしたテンプレートはSDLをDLしたフォルダ内の以下のパスに生成されます。このフォルダにあるフォルダ「SDL Application」を 3. で作成したの「Application」フォルダにコピーします。

/XCodeiPhoneOS/SDL/build/Release-template

しかしこのテンプレートは不具合があり、そのままビルドするとエラーが発生します。

main.c の以下の部分を修正して下さい。

    SDL_RenderFill(r, g, b, 255, &rect);

    SDL_SetRenderDrawColor(r, g, b, 255);
    SDL_RenderFill(&rect);
    SDL_RenderFill(0, 0, 0, 0, NULL);

    SDL_SetRenderDrawColor(0, 0, 0, 0);
    SDL_RenderFill(NULL);

正しくテンプレートが追加されるとこのような画面になります。

f:id:nakamura001:20090509235820p:image

このテンプレートを使用し、ビルドすると以下の様に描画されます。

f:id:nakamura001:20090509225534p:image

トラックバック - http://d.hatena.ne.jp/nakamura001/20090509/1241878846