簡単 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 以下にインストールします。% cd % tar zxf tools.tar.gz % cd tools/bmp2c % makeこうすると bmp2c (Windows の場合は bmp2c.exe) というコマンドが出来て、 BMP を GBA 用のデータに変換できます。
素材を用意しよう
まずは 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 をインストールして、
% ~/gba/tools/bmp2c/bmp2c spr/spr_loading1.bmpといったように bmp2c の引数に BMP ファイルを渡すと cpp が出力されます。
あとは、この出力を cpp ファイルに流し込めば OK です。
% ~/gba/tools/bmp2c/bmp2c spr/spr_loading1.bmp > cpp/spr_loading1.cppここら辺の処理はサンプルコードだと images/conv.sh で一括して行えるようになっています。
素材を GBA のコードに組み込もう
あとは変換後のデータをコードに組み込むだけです。
ここは ソースコード一式 のサンプルコードの imagehandler.hpp, imagehandler.cpp あたりを見ればわかると思います。
わからない場所については以下を見れば OK。


