簡単 GBA プログラミング (1)
■ 簡単 GBA プログラミング (1)
GBA ならではのグラフィックとかサウンドまわりとかを除くと、普通の C++ のコードが動きます。 なので基本的には
int main()
{
...
return 0;
}
のようなコードで OK です。
最初はグラフィックを表示するところから。
![]()
■ ソースコード一式
サンプルのソースコードはこちら
devkitPro r18 (buildscripts 20060412) 用なので devkitPro r18 をインストールして から、
とします。% tar zxf sprite.tar.gz % cd sprite % make
また、BMP イメージを GBA 用に変換するツールは
になります。 これを以下のようにしてホームディレクトリの gba/tools 以下にインストールします。こうすると bmp2c (Windows の場合は bmp2c.exe) というコマンドが出来て、 BMP を GBA 用のデータに変換できます。% cd % tar zxf tools.tar.gz % cd tools/bmp2c % make
■ 素材を用意しよう
まずは GBA で表示するためのドット絵を用意します。
ドット絵の編集は EDGE を使います。 いまのところ、これ以上手軽で使いやすいツールはありません。
Linux や MacOSX の場合は Wine を使えば動くので、あえて Windows を用意しなくても大丈夫。
■ GBA 用の素材について
GBA では 8x8 ドットの絵が基本です。 これを横に 30 個、縦に 20 個並べて 240x160 の画面を表示します。

■ 素材その1
■ 素材その2
背景の上に表示する画像を用意します。ここでは 256x160 の画像を用意しました。
パレットの最初の色 (緑色) は透過色となり、GBA で表示するときは透明になります。

■ 素材その3
次にスプライト用の画像を用意します。 以下の中から適切なサイズを選んで作成します。
- 正方形: 8x8, 16x16, 32x32, 64x64
- 横長: 16x8, 32x8, 32x16, 64x32
- 縦長: 8x16, 8x32, 16x32, 32x64
ここでは 32x32 のスプライトを 4 パターン分用意しています。
スプライトをアニメーションさせる場合は、パターンを縦に並べます。

■ 素材その4
■ 素材を GBA 用に変換しよう
素材が出来たら、BMP ファイルを GBA 用に変換します。
ソースコード一式 から tools.tar.gz をインストールして、
といったように bmp2c の引数に BMP ファイルを渡すと cpp が出力されます。% ~/gba/tools/bmp2c/bmp2c spr/spr_loading1.bmp
あとは、この出力を cpp ファイルに流し込めば OK です。
ここら辺の処理はサンプルコードだと images/conv.sh で一括して行えるようになっています。% ~/gba/tools/bmp2c/bmp2c spr/spr_loading1.bmp > cpp/spr_loading1.cpp
■ 素材を GBA のコードに組み込もう
あとは変換後のデータをコードに組み込むだけです。
ここは ソースコード一式 のサンプルコードの imagehandler.hpp, imagehandler.cpp あたりを見ればわかると思います。
わからない場所については以下を見れば OK。
Comments for This Page. Date: 2007-05-29 00:00 (JST)



