3.便利ツール導入
タイル(画像)を作成し、画面に表示するためタイルを作成する手順をまとめていきます。
・目次
1.GBTDダウンロード&配置
2.GBTDを使用してタイル作成
3.タイルを表示
1.GBTDダウンロード
以下の記事を参考にしました!
配置場所は任意
2.GBTDを使用してタイル作成
GBTD.EXEを起動し、基本操作を確認してみる
メニュー
└File
└Open・・・一度作成済みの".gbr"ファイルを開く
└Save・・・保存(タイル加工情報)
└Save As・・・新規ファイルで保存(タイル加工情報)
└Reopen・・・一度作成済みの".gbr"ファイルを開く(開きなおし)
└Export・・・GBに表示する用のソースファイルを出力
└Export to・・・新規でソースファイル出力
└Import from・・・ファイル取り込み(拡張子不明 そのうち調べる)
└Exit・・・アプリ終了
└Edit
└Undo・・・直前操作を取り消す
└Cut tile・・・GBTDを2画面開いているときにカットし、ペーストできる
└Copy tile・・・同上
└Paste tile・・・同上
└Split Copy・・・16*16のタイルを分割してコピーできる
└Split Paste・・・同上
└Split optins・・・分割時のオプション(2枚目を下にするか右にするか)
└Design
└Pen・・・ペン(線画)
└Flood fill・・・バケツ(塗りつぶし)
└Flip Vertically・・・左右反転
└Flip Horizontally・・・上下反転
└Rotate clockwise・・・時計回り90度
└Scroll Left・・・左に移動
└Scroll Right・・・右に移動
└Scroll Up・・・上に移動
└Scroll Down・・・下に移動
└Clear tiles・・・クリア
└Flip colors・・・???
└View
└Tile size・・・タイルサイズ変更(88,816,1616,3232)
└Tile count・・・タイル数をカウント(何に使う?)
└Simple・・・右側のプレビュー画面非表示
└Grid・・・ます目非表示
└Nibble markers・・・点表示(ます目非表示に見える)
└Auto update・・・アップデート??(ファイル更新されたら反映??)
└Color set・・・色変更(プリセット)
└Palettes・・・色変更
└Set bookmark・・・ショートカットをカスタマイズ??
└Goto bookmark・・・ショートカットをカスタマイズ??
└Help・・・ヘルプ(開けない)
Export to時の設定内容
Filename・・・ファイル名(ラベル名と同一のほうが分かりやすい)
Type・・・ファイルタイプ(拡張子) GBDK C FileでOK
Label・・・プログラム内で使用する関数名的なもの
From To・・・複数のタイルを作成した場合何個まで出力するか
Include palette colors・・・オン 色の引継ぎ?
3.タイルを表示
以下のコードを"main.c"に記載しタイルを表示させる
#include <gb/gb.h>
#include <stdint.h> //ライブラリ参照
#include "tile.h"
UINT8 p_xy[2] = {0};// [x, y] が入る
void main(){
set_sprite_data(0, 1, tile); //TileLabelのタイルを登録
set_sprite_tile(0, 0); // スプライト番号 0 にタイル 0を設定
//タイル0を表示する位置決め
p_xy[0] = 10 << 3; //x軸160
p_xy[1] = 10 << 3; //y軸16
move_sprite(0, p_xy[0], p_xy[1]); // 0 番目のスプライトを移動
SHOW_SPRITES; // スプライトの表示を ON
◇解説
#include
#include //ライブラリ参照
#include "tile.h"
→GBTDで作成したタイルのソースファイル(tile.h)を記載
UINT8 p_xy[2] = {0};// [x, y] が入る
→配列を定義
set_sprite_data(0, 1, tile); //タイルを登録
set_sprite_tile(0, 0); // スプライト番号 0 にタイル 0を設定
→タイルをスプライト0番目に定義
p_xy[0] = 10 << 3; //x軸160
p_xy[1] = 10 << 3; //y軸16
→配列に初期表示場所のX,Y軸の値を入力
move_sprite(0, p_xy[0], p_xy[1]); // 0 番目のスプライトを移動
→0番目のスプライト(タイル)を配列の値(X,Y軸)の場所に表示
SHOW_SPRITES; // スプライトの表示を ON
→スプライトを表示
コンパイル結果(large_mapサンプルに表示させてます)
以上!
次回は背景を動かしてみよう!!